Author: kmorin Date: 2014-09-24 11:23:49 +0200 (Wed, 24 Sep 2014) New Revision: 639 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/639 Log: correction de la recherche avec ?\195?\169l?\195?\169ments group?\195?\169s Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-09-24 08:31:35 UTC (rev 638) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-09-24 09:23:49 UTC (rev 639) @@ -371,7 +371,19 @@ } // add same fecth liste as emailService#getEmailForFolder() - String hqlForFetchStep1 = "select E." + TopiaEntity.PROPERTY_TOPIA_ID + " FROM " + Email.class.getName() + " E " + query.toString(); + String hqlForFetchStep1 = "select E." + TopiaEntity.PROPERTY_TOPIA_ID + " FROM " + Email.class.getName() + " E " + + "WHERE E." + TopiaEntity.PROPERTY_TOPIA_ID + " IN (" + + "select E." + TopiaEntity.PROPERTY_TOPIA_ID + " FROM " + Email.class.getName() + " E " + + query.toString() + ") "; + + if (searchFilter.isAddGroupDemands()) { + hqlForFetchStep1 += "OR E." + TopiaEntity.PROPERTY_TOPIA_ID + " IN (" + + "select E2." + TopiaEntity.PROPERTY_TOPIA_ID + " FROM " + Email.class.getName() + " E " + + "LEFT OUTER JOIN E." + Email.PROPERTY_EMAIL_GROUP + " AS G " + + "LEFT OUTER JOIN G." + EmailGroup.PROPERTY_EMAIL + " AS E2 " + + query.toString() + ")"; + } + String hqlForFetchStep2 = "select distinct E FROM " + Email.class.getName() + " E " + addAllFecthes( Email.PROPERTY_PRIORITY, Email.PROPERTY_DEMAND_TYPE, @@ -987,7 +999,9 @@ // TODO echatellier 20140918 : on ajoute null dans tous les cas car les requetes precendente // sont trop lente juste pour savoir si on a vraiment besoin de savoir si l'on doit vraiment // avoir des valeurs nulles - result.add(null); + if (!result.contains("")) { + result.add(null); + } return result; }