r2229 - in trunk: . wao-persistence/src/main/java/fr/ifremer/wao/entity wao-services/src/main/java/fr/ifremer/wao/services/service/administration
Author: bleny Date: 2014-09-02 11:38:14 +0200 (Tue, 02 Sep 2014) New Revision: 2229 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2229 Log: Mont?\195?\169e de version de ToPIA et utilisation de l'API fetch plut?\195?\180t que de modifier le HQL en manipulation de cha?\195?\174ne Modified: trunk/pom.xml trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-08-27 15:46:57 UTC (rev 2228) +++ trunk/pom.xml 2014-09-02 09:38:14 UTC (rev 2229) @@ -121,8 +121,8 @@ <nuitonCsvVersion>3.0-rc-2</nuitonCsvVersion> <nuitonValidatorVersion>3.0-rc-1</nuitonValidatorVersion> <nuitonUtilsVersion>3.0-rc-4</nuitonUtilsVersion> - <eugeneVersion>2.12</eugeneVersion> - <topiaVersion>3.0-beta-8</topiaVersion> + <eugeneVersion>2.13</eugeneVersion> + <topiaVersion>3.0-beta-12</topiaVersion> <!--Site configuration --> <locales>fr</locales> Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java 2014-08-27 15:46:57 UTC (rev 2228) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/BoatTopiaDao.java 2014-09-02 09:38:14 UTC (rev 2229) @@ -44,16 +44,21 @@ HqlAndParametersBuilder<Boat> query = toBoatHqlAndParametersBuilder(filter); - String hql = query.getHql(); + query.addAllFetches( + Boat.PROPERTY_DISTRICT, + Boat.PROPERTY_PORT_OF_REGISTRY, + Boat.PROPERTY_SHIP_OWNER, + Boat.PROPERTY_ELLIGIBLE_BOAT + '.' + ElligibleBoat.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_FISHING_ZONE + ); - hql = StringUtils.replace( - hql, - "from fr.ifremer.wao.entity.Boat b", - "from fr.ifremer.wao.entity.BoatImpl b left outer join fetch b." + Boat.PROPERTY_DISTRICT + " left outer join fetch b." + Boat.PROPERTY_PORT_OF_REGISTRY + " left outer join fetch b." + Boat.PROPERTY_SHIP_OWNER + " so left outer join fetch b." + Boat.PROPERTY_ELLIGIBLE_BOAT + " eb left join fetch eb." + ElligibleBoat.PROPERTY_SAMPLE_ROW + " sr left join fetch sr." + SampleRow.PROPERTY_FISHING_ZONE); + if (log.isTraceEnabled()) { + log.trace("query to fetch data from boats is " + query.getHql()); + } - List<Boat> boats = findAll(hql, query.getHqlParameters()); + List<Boat> boats = findAll(query.getHql(), query.getHqlParameters()); return boats; + } public PaginationResult<Boat> find(BoatsFilter filter, PaginationParameter pager) { Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-08-27 15:46:57 UTC (rev 2228) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-09-02 09:38:14 UTC (rev 2229) @@ -29,7 +29,6 @@ import fr.ifremer.wao.ContactsFilter; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.Range; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; @@ -436,27 +435,19 @@ HqlAndParametersBuilder<Contact> query = toContactHqlAndParametersBuilder(filter); - String hql = query.getHql(); - - hql = StringUtils.replace( - hql, - "from fr.ifremer.wao.entity.Contact " + ALIAS, - "from fr.ifremer.wao.entity.ContactImpl " + ALIAS - + " left join fetch " + ALIAS + "." + Contact.PROPERTY_SAMPLE_ROW + " sr" - + " left join fetch sr." + SampleRow.PROPERTY_COMPANY - + " left join fetch sr." + SampleRow.PROPERTY_FISHING_ZONE - + " left join fetch sr." + SampleRow.PROPERTY_PROFESSION - + " left join fetch sr." + SampleRow.PROPERTY_DCF5_CODE + " dcf" - + " left outer join fetch dcf." + Dcf5Code.PROPERTY_FISHING_GEAR_DCF - + " left outer join fetch dcf." + Dcf5Code.PROPERTY_TARGET_SPECIES_DCF - + " left join fetch " + ALIAS + "." + Contact.PROPERTY_BOAT + " b" - + " left join fetch b." + Boat.PROPERTY_DISTRICT - + " left join fetch " + ALIAS + "." + Contact.PROPERTY_MAIN_OBSERVER - + " left join fetch " + ALIAS + "." + Contact.PROPERTY_SECONDARY_OBSERVERS - + " left outer join fetch " + ALIAS + "." + Contact.PROPERTY_CONTACT_STATE_MOTIF + query.addAllFetches( + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_COMPANY, + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_FISHING_ZONE, + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_PROFESSION, + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_DCF5_CODE + '.' + Dcf5Code.PROPERTY_FISHING_GEAR_DCF, + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_DCF5_CODE + '.' + Dcf5Code.PROPERTY_TARGET_SPECIES_DCF, + Contact.PROPERTY_BOAT + '.' + Boat.PROPERTY_DISTRICT, + Contact.PROPERTY_MAIN_OBSERVER, + Contact.PROPERTY_SECONDARY_OBSERVERS, + Contact.PROPERTY_CONTACT_STATE_MOTIF ); - List<Contact> contacts = findAll(hql, query.getHqlParameters()); + List<Contact> contacts = findAll(query.getHql(), query.getHqlParameters()); return contacts; Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java 2014-08-27 15:46:57 UTC (rev 2228) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java 2014-09-02 09:38:14 UTC (rev 2229) @@ -26,15 +26,15 @@ public class WaoUserTopiaDao extends AbstractWaoUserTopiaDao<WaoUser> { public Optional<WaoUser> tryFindByEmailAndFetchCollections(String email) { - Optional<WaoUser> waoUserOptional = forLoginEquals(email).tryFindUnique(); - if (waoUserOptional.isPresent()) { - WaoUser waoUser = waoUserOptional.get(); - // fetch the lazy collections to avoid lazy initialisation exception - waoUser.sizeAllegroWallet(); - waoUser.sizeCanReadBoats(); - waoUser.sizeUserProfile(); - } + Optional<WaoUser> waoUserOptional + = forLoginEquals(email) + . addFetch(WaoUser.PROPERTY_COMPANY) + . addFetch(WaoUser.PROPERTY_CAN_READ_BOATS) + . addFetch(WaoUser.PROPERTY_USER_PROFILE) + . addFetch(WaoUser.PROPERTY_ALLEGRO_WALLET) + . tryFindUnique() + ; return waoUserOptional; } -} //WaoUserTopiaDao +} Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-08-27 15:46:57 UTC (rev 2228) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-09-02 09:38:14 UTC (rev 2229) @@ -270,7 +270,7 @@ WaoUserTopiaDao dao = getWaoUserDao(); - Optional<WaoUser> optionalWaoUser = dao.forLoginEquals(login).tryFindUnique(); + Optional<WaoUser> optionalWaoUser = dao.tryFindByEmailAndFetchCollections(login); WaoUser waoUser; @@ -299,10 +299,6 @@ throw new NoRoleAttributedException(waoUser); } - waoUser.sizeUserProfile(); - waoUser.sizeCanReadBoats(); - waoUser.getCompany().getTopiaId(); - return waoUser; }
participants (1)
-
bleny@users.forge.codelutin.com