Author: dcosse Date: 2014-08-14 18:09:01 +0200 (Thu, 14 Aug 2014) New Revision: 3912 Url: http://forge.chorem.org/projects/lima/repository/revisions/3912 Log: Ajout d'un test en vue de ractorer la requ?\195?\170te de r?\195?\169cup?\195?\169ration des comptes feuille Added: trunk/lima-business/src/test/java/org/chorem/lima/business/AccountDaoTest.java Modified: trunk/lima-callao/src/main/java/org/chorem/lima/entity/AccountTopiaDao.java Added: trunk/lima-business/src/test/java/org/chorem/lima/business/AccountDaoTest.java =================================================================== --- trunk/lima-business/src/test/java/org/chorem/lima/business/AccountDaoTest.java (rev 0) +++ trunk/lima-business/src/test/java/org/chorem/lima/business/AccountDaoTest.java 2014-08-14 16:09:01 UTC (rev 3912) @@ -0,0 +1,515 @@ +package org.chorem.lima.business; + +import org.chorem.lima.business.exceptions.AlreadyExistAccountException; +import org.chorem.lima.business.exceptions.InvalidAccountNumberException; +import org.chorem.lima.business.exceptions.NotAllowedLabelException; +import org.chorem.lima.business.exceptions.NotNumberAccountNumberException; +import org.chorem.lima.entity.Account; +import org.chorem.lima.entity.AccountTopiaDao; +import org.chorem.lima.entity.LimaCallaoTopiaPersistenceContext; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Iterator; +import java.util.List; + +/** + * Created by davidcosse on 14/08/14. + */ +public class AccountDaoTest extends AbstractLimaTest { + + @Test + public void testFindAllLeafAccounts() throws AlreadyExistAccountException, NotAllowedLabelException, InvalidAccountNumberException, NotNumberAccountNumberException { + LimaCallaoTopiaPersistenceContext tcontext = context.newPersistenceContext(); + AccountTopiaDao accountTopiaDao = tcontext.getAccountDao(); + + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "101"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "104"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "105"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1061"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1062"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1063"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1064"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "106"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1068"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "107"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "108"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "10"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "109"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "110"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "11"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "119"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "120"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "12"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "129"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "131"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "138"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "13"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1391"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "139"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1398"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "142"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "143"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "144"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "145"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "146"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "147"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "14"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "148"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "151"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "153"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "154"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "155"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "156"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "157"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "15"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "158"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "161"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "163"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "164"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "165"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "166"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "16"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "169"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "171"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "174"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "17"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "178"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "201"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "203"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "205"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "206"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "207"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "20"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "208"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "211"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "212"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "213"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "214"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "215"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "21"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "218"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "231"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "232"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "237"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "23"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "238"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "261"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "266"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "267"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "268"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "26"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "269"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "271"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "272"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "273"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "274"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "275"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "27"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "279"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "28"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "29"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "311"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "312"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "31"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "317"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "321"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "322"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "32"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "326"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "331"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "33"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "335"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "341"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "34"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "345"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "351"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "355"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "35"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "358"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "371"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "37"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "372"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "3"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "391"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "392"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "393"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "394"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "395"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "39"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "397"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "400"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "401"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "403"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "404"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "405"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "40"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "410"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "411"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "413"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "416"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "417"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "418"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "41"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "421"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "422"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "424"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "425"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "426"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "427"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "42"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "431"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "437"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "43"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "438"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "441"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "442"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "443"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "444"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4452"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4455"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44551"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44562"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445661"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445662"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445664"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44566"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445665"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4456"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44567"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4457"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445711"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445712"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445714"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44571"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445715"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "445"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44583"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44584"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44586"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4458"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44587"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "446"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "44"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "447"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "451"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "455"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "456"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "457"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "45"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "458"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "462"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "464"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "465"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "467"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "46"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4686"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "468"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4687"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "470"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "476"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "477"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "47"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "478"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "481"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "486"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "487"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "48"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "488"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "491"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "495"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "49"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "496"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "501"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "502"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "503"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "504"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "505"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "506"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "507"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "508"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "50"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "509"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5111"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5112"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5113"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "511"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5114"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5121"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "512"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5122"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "514"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "515"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "516"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "517"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "518"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "51"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "519"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "52"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "53"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "530"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "54"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "540"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "58"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "580"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "5"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "59"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "590"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "601"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "604"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "605"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "606"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "607"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "608"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "60"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "611"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "612"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "613"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "614"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "615"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "616"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "617"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "618"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "61"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "619"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "621"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "622"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "623"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "624"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "625"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "626"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "627"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "628"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "62"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "629"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "631"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "633"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "635"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "637"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "63"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6371"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6411"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6412"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6413"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "641"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6414"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "644"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6451"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6452"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6453"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "645"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6454"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "646"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "647"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "64"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "648"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "651"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "653"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "654"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "655"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "65"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "658"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "661"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "664"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "665"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "667"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "66"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "668"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6688"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "671"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "672"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "675"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "67"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "678"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68111"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68112"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68161"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "681"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68162"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "686"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "687"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "68725"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "691"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "695"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "696"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "697"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "698"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "69"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "699"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "701"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "702"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "703"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "704"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "705"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "706"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "707"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "708"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "70"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "709"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "71"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "7133"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "7134"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "713"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "7135"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "721"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "72"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "722"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "74"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "740"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "751"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "752"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "753"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "754"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "755"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "75"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "758"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "761"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "762"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "763"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "764"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "765"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "766"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "767"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "768"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "76"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "7688"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "771"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "772"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "775"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "777"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "77"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "778"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "78161"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "781"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "78162"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "786"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "78"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "787"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "78725"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "7"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "791"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "79"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "796"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "801"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "802"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "80"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "809"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "88"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "8"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "890"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "89"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "891"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6031"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6032"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "603"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2761"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "276"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "27682"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "27684"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "27685"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "27688"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2768"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2801"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2803"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2805"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2807"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2808"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "280"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2811"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2812"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2813"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2814"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2815"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2818"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "281"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2905"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2906"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2907"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2908"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "290"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2911"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "291"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2931"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2932"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "293"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2961"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2966"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2967"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2968"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "296"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2971"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2972"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2973"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2974"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2975"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "2976"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "297"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1671"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1674"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "1675"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "167"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "168"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4081"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4084"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4088"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "408"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4091"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4096"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4097"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4098"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "409"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4191"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4196"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4197"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4198"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "419"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4282"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4284"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4286"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "4287"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "428"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6022"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "602"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6026"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6091"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6092"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6094"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6095"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6096"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6097"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "6098"); + accountTopiaDao.create(Account.PROPERTY_ACCOUNT_NUMBER, "609"); + + for (int i = 0 ; i < 10 ; i++ ) { + long before = System.currentTimeMillis(); + List<Account> accounts = accountTopiaDao.findAllLeafAccounts(); + long after = System.currentTimeMillis(); +// log.info("temps refactoré:" + (after - before)); + + // code temporaire non performant en attandant: + + long before1 = System.currentTimeMillis(); + List<Account> allAccounts = (List<Account>) accountTopiaDao.findAll(); + Iterator<Account> itAccount = allAccounts.iterator(); + while (itAccount.hasNext()) { + Account acc = itAccount.next(); + for (Account acc2 : allAccounts) { + if (!acc2.getAccountNumber().equals(acc.getAccountNumber()) && + acc2.getAccountNumber().startsWith(acc.getAccountNumber())) { + itAccount.remove(); + break; + } + } + } + long after1 = System.currentTimeMillis(); +// log.info("temps original:" + (after1 - before1)); + + Assert.assertEquals(allAccounts.size(), accounts.size()); + } + } +} Modified: trunk/lima-callao/src/main/java/org/chorem/lima/entity/AccountTopiaDao.java =================================================================== --- trunk/lima-callao/src/main/java/org/chorem/lima/entity/AccountTopiaDao.java 2014-08-14 14:06:09 UTC (rev 3911) +++ trunk/lima-callao/src/main/java/org/chorem/lima/entity/AccountTopiaDao.java 2014-08-14 16:09:01 UTC (rev 3912) @@ -26,6 +26,8 @@ package org.chorem.lima.entity; import com.google.common.collect.Maps; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.HqlAndParametersBuilder; import org.nuiton.topia.persistence.TopiaException; @@ -34,6 +36,7 @@ import java.util.Map; public class AccountTopiaDao extends AbstractAccountTopiaDao<Account> { + protected static final Log log = LogFactory.getLog(AccountTopiaDao.class); /** * Retourne tous les comptes qui n'ont pas eux meme de sous compte. @@ -41,18 +44,23 @@ * @return leaf accounts */ public List<Account> findAllLeafAccounts() { - // FIXME echatellier 20120413 la requete ne fonctionne pas - // et retourne vide - /*String query = "FROM " + Account.class.getName() + " a WHERE a NOT IN (" + - "FROM " + Account.class.getName() + " b where b.accountNumber like concat(a.accountNumber,'%'))"; - List<Account> accounts = find(query);*/ +// TODO DCossé 14/08/14 La requête suivante fonctionne mais est moins performante que le traitement java +// String query = "SELECT a." + Account.PROPERTY_ACCOUNT_NUMBER +" FROM " + +// Account.class.getName() + " a " + +// "WHERE LENGTH( a." + Account.PROPERTY_ACCOUNT_NUMBER +")=" + +// "(SELECT MAX(LENGTH(b." + Account.PROPERTY_ACCOUNT_NUMBER +")) " + +// " FROM " + Account.class.getName() + " b" + +// " WHERE b." + Account.PROPERTY_ACCOUNT_NUMBER + +// " LIKE CONCAT (a." + Account.PROPERTY_ACCOUNT_NUMBER + ",'%')" + +// ")"; +// +// List<Account> result = findAll(query); - // code temporaire non performant en attandant: - List<Account> allAccounts = (List<Account>) findAll(); - Iterator<Account> itAccount = allAccounts.iterator(); + List<Account> result = (List<Account>) findAll(); + Iterator<Account> itAccount = result.iterator(); while (itAccount.hasNext()) { Account acc = itAccount.next(); - for (Account acc2 : allAccounts) { + for (Account acc2 : result) { if (!acc2.getAccountNumber().equals(acc.getAccountNumber()) && acc2.getAccountNumber().startsWith(acc.getAccountNumber())) { itAccount.remove(); @@ -60,19 +68,10 @@ } } } - return allAccounts; + return result; } /** - * TODO pas compris l'interet de la methode, si on veut un compte feuille - * par son numero, cela revient a avoir un compte par son numero. - */ - @Deprecated - public Account findLeafAccountByNumber(String number) { - return forAccountNumberEquals(number).findUniqueOrNull(); - } - - /** * Find account contained into account number interval. * * @param accountNumberLow min account number