branch develop-1.1.x updated (8214858 -> ee477b2)
This is an automated email from the git hooks/post-receive script. New change to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git from 8214858 Merge branch 'develop-1.1.x' of https://git.codelutin.com/faxtomail into develop-1.1.x new ee477b2 fixes #7693 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit ee477b24854ea1956fae66e70c9d73d8356437f2 Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 4 16:11:54 2015 +0100 fixes #7693 Summary of changes: .../persistence/entities/EmailTopiaDao.java | 38 +++++++++++++--------- .../persistence/entities/MailFolderTopiaDao.java | 9 ++++- .../src/main/resources/faxToMail.properties | 5 ++- .../services/service/EmailServiceImpl.java | 9 ++--- .../services/service/MailFolderServiceImpl.java | 2 +- 5 files changed, 40 insertions(+), 23 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit ee477b24854ea1956fae66e70c9d73d8356437f2 Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 4 16:11:54 2015 +0100 fixes #7693 --- .../persistence/entities/EmailTopiaDao.java | 38 +++++++++++++--------- .../persistence/entities/MailFolderTopiaDao.java | 9 ++++- .../src/main/resources/faxToMail.properties | 5 ++- .../services/service/EmailServiceImpl.java | 9 ++--- .../services/service/MailFolderServiceImpl.java | 2 +- 5 files changed, 40 insertions(+), 23 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java index c3efeff..3c4c215 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java @@ -266,19 +266,19 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // email sender if (StringUtils.isNotBlank(searchFilter.getSender())) { - query.append(" AND lower(E." + Email.PROPERTY_SENDER + ") LIKE lower(:" + SearchFilter.PROPERTY_SENDER + ")"); + query.append(" AND E." + Email.PROPERTY_SENDER + " LIKE :" + SearchFilter.PROPERTY_SENDER); args.put(SearchFilter.PROPERTY_SENDER, "%" + searchFilter.getSender() + "%"); } // client code if (StringUtils.isNoneBlank(searchFilter.getClientCode())) { - query.append(" AND lower(E." + Email.PROPERTY_CLIENT + "." + Client.PROPERTY_CODE + ") LIKE lower(:" + SearchFilter.PROPERTY_CLIENT_CODE + ")"); + query.append(" AND E." + Email.PROPERTY_CLIENT + "." + Client.PROPERTY_CODE + " LIKE :" + SearchFilter.PROPERTY_CLIENT_CODE); args.put(SearchFilter.PROPERTY_CLIENT_CODE, "%" + searchFilter.getClientCode() + "%"); } // email subject if (StringUtils.isNotBlank(searchFilter.getDemandObject())) { - query.append(" AND lower(E." + Email.PROPERTY_OBJECT + ") LIKE lower(:" + SearchFilter.PROPERTY_DEMAND_OBJECT + ")"); + query.append(" AND E." + Email.PROPERTY_OBJECT + " LIKE :" + SearchFilter.PROPERTY_DEMAND_OBJECT); args.put(SearchFilter.PROPERTY_DEMAND_OBJECT, "%" + searchFilter.getDemandObject() + "%"); } @@ -296,13 +296,13 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // email ediCodeNumber if (StringUtils.isNotBlank(searchFilter.getEdiCodeNumber())) { - query.append(" AND lower(E." + Email.PROPERTY_EDI_ERROR + ") LIKE lower(:" + SearchFilter.PROPERTY_EDI_CODE_NUMBER + ")"); + query.append(" AND E." + Email.PROPERTY_EDI_ERROR + " LIKE :" + SearchFilter.PROPERTY_EDI_CODE_NUMBER); args.put(SearchFilter.PROPERTY_EDI_CODE_NUMBER, "%" + searchFilter.getEdiCodeNumber() + "%"); } // email projectReference if (StringUtils.isNotBlank(searchFilter.getProjectReference())) { - query.append(" AND lower(E." + Email.PROPERTY_PROJECT_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_PROJECT_REFERENCE + ")"); + query.append(" AND E." + Email.PROPERTY_PROJECT_REFERENCE + " LIKE :" + SearchFilter.PROPERTY_PROJECT_REFERENCE); args.put(SearchFilter.PROPERTY_PROJECT_REFERENCE, "%" + searchFilter.getProjectReference() + "%"); } @@ -344,12 +344,12 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // email message if (StringUtils.isNotBlank(searchFilter.getMessage())) { - query.append(" AND lower(E." + Email.PROPERTY_COMMENT + ") LIKE lower(:" + SearchFilter.PROPERTY_MESSAGE + ")"); + query.append(" AND E." + Email.PROPERTY_COMMENT + " LIKE :" + SearchFilter.PROPERTY_MESSAGE); args.put(SearchFilter.PROPERTY_MESSAGE, "%" + searchFilter.getMessage() + "%"); } if (StringUtils.isNotBlank(searchFilter.getBody())) { - query.append(" AND lower(E." + Email.PROPERTY_ORIGINAL_EMAIL + "." + OriginalEmail.PROPERTY_CONTENT + ") LIKE lower(:" + SearchFilter.PROPERTY_BODY + ")"); + query.append(" AND E." + Email.PROPERTY_ORIGINAL_EMAIL + "." + OriginalEmail.PROPERTY_CONTENT + " LIKE :" + SearchFilter.PROPERTY_BODY); args.put(SearchFilter.PROPERTY_BODY, "%" + searchFilter.getBody() + "%"); } @@ -369,8 +369,8 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // email localReference if (StringUtils.isNotBlank(searchFilter.getLocalReference())) { query.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); - query.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_LOCAL_REFERENCE + "))"); - query.append(" OR lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_LOCAL_REFERENCE + ")"); + query.append(" AND RR." + RangeRow.PROPERTY_COMMAND_NUMBER + " LIKE :" + SearchFilter.PROPERTY_LOCAL_REFERENCE + ")"); + query.append(" OR E." + Email.PROPERTY_COMPANY_REFERENCE + " LIKE :" + SearchFilter.PROPERTY_LOCAL_REFERENCE); args.put(SearchFilter.PROPERTY_LOCAL_REFERENCE, "%" + searchFilter.getLocalReference() + "%"); query.append(")"); } @@ -378,8 +378,8 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // command Nb if (StringUtils.isNotBlank(searchFilter.getCommandNb())) { query.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); - query.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + "))"); - query.append(" OR lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + query.append(" AND RR." + RangeRow.PROPERTY_COMMAND_NUMBER + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + query.append(" OR E." + Email.PROPERTY_COMPANY_REFERENCE + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB); args.put(SearchFilter.PROPERTY_COMMAND_NB, "%" + searchFilter.getCommandNb() + "%"); query.append(")"); } @@ -447,6 +447,7 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { // Email.PROPERTY_HISTORY + "." + History.PROPERTY_FIELDS, // Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL) for (Email email : result.getElements()) { + Hibernate.initialize(email.getMailFolder()); //Hibernate.initialize(email.getPriority()); //Hibernate.initialize(email.getDemandType()); //Hibernate.initialize(email.getClient()); @@ -480,14 +481,19 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { return result; } - public Collection<Email> findArchivedEmails(String commandQuotationNumber, Collection<MailFolder> folders) { +// public Collection<Email> findArchivedEmails(String commandQuotationNumber, Collection<MailFolder> folders) { + public Collection<Email> findArchivedEmails(String commandQuotationNumber, String company) { StringBuilder query = new StringBuilder(); Map<String, Object> args = new HashMap<>(); Set<Email> result = new HashSet<>(); - query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + " in (:folders)"); - args.put("folders", folders); + query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + "." + MailFolder.PROPERTY_COMPANY + " = (:company)"); + args.put("company", company); + +// query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + " in (:folders)"); +// args.put("folders", folders); + query.append(" AND E." + Email.PROPERTY_DEMAND_STATUS + " = :archiveStatus"); args.put("archiveStatus", DemandStatus.ARCHIVED); @@ -502,7 +508,7 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { StringBuilder query1 = new StringBuilder(query); query1.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); - query1.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + "))"); + query1.append(" AND RR." + RangeRow.PROPERTY_COMMAND_NUMBER + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB + ")"); args.put(SearchFilter.PROPERTY_COMMAND_NB, "%" + commandQuotationNumber + "%"); @@ -511,7 +517,7 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { result.addAll(this.<Email>findAll(query1.toString(), args)); StringBuilder query2 = new StringBuilder(query); - query2.append(" AND (lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + query2.append(" AND (E." + Email.PROPERTY_COMPANY_REFERENCE + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB); query2.append(")"); result.addAll(this.<Email>findAll(query2.toString(), args)); diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java index 47738fa..61180f7 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java @@ -55,7 +55,14 @@ public class MailFolderTopiaDao extends AbstractMailFolderTopiaDao<MailFolder> { } public Collection<MailFolder> getReadableFolders(FaxToMailUser user) { - String query = newFromClause("mf") + " where (:user in elements(mf.readRightUsers) or exists (from mf.readRightGroups g where g in (:groups))) and mf.archiveFolder = false"; + return getReadableFolders(user, true); + } + + public Collection<MailFolder> getReadableFolders(FaxToMailUser user, boolean filterArchiveFoldes) { + String query = newFromClause("mf") + " where (:user in elements(mf.readRightUsers) or exists (from mf.readRightGroups g where g in (:groups)))"; + if (filterArchiveFoldes) { + query += " and mf.archiveFolder = false"; + } HashMap<String, Object> map = Maps.newHashMap(); map.put("user", user); map.put("groups", user.getUserGroups()); diff --git a/faxtomail-persistence/src/main/resources/faxToMail.properties b/faxtomail-persistence/src/main/resources/faxToMail.properties index 8c53b23..028c59d 100644 --- a/faxtomail-persistence/src/main/resources/faxToMail.properties +++ b/faxtomail-persistence/src/main/resources/faxToMail.properties @@ -31,13 +31,16 @@ hibernate.connection.password= #hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect #hibernate.connection.driver_class=net.sourceforge.jtds.jdbc.Driver -#hibernate.connection.url=jdbc:jtds:sqlserver://192.168.100.176:1433/faxtomail +#hibernate.connection.url=jdbc:jtds:sqlserver://192.168.100.98:1433/faxtomail #hibernate.connection.username=fx #hibernate.connection.password=FX2013! +#hibernate.connection.isolation=4096 #hibernate.hbm2ddl.auto=validate hibernate.hbm2ddl.auto= +hibernate.show_sql=true + hibernate.jdbc.batch_size=20 hibernate.c3p0.min_size=5 diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index 300aad0..61fbda9 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -959,12 +959,13 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe Preconditions.checkArgument(StringUtils.isNotBlank(commandQuotationNumber)); Preconditions.checkArgument(StringUtils.isNotBlank(company)); - MailFolderTopiaDao mailFolderDao = getPersistenceContext().getMailFolderDao(); - Collection<MailFolder> companyFolders = mailFolderDao.forCompanyEquals(company).findAll(); - Set<MailFolder> archiveFolders = new HashSet<>(companyFolders); +// MailFolderTopiaDao mailFolderDao = getPersistenceContext().getMailFolderDao(); +// Collection<MailFolder> companyFolders = mailFolderDao.forCompanyEquals(company).findAll(); +// Set<MailFolder> archiveFolders = new HashSet<>(companyFolders); EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); - return emailDao.findArchivedEmails(commandQuotationNumber, archiveFolders); +// return emailDao.findArchivedEmails(commandQuotationNumber, archiveFolders); + return emailDao.findArchivedEmails(commandQuotationNumber, company); } @Override diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java index 1ace3ec..b89d4c0 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java @@ -138,7 +138,7 @@ public class MailFolderServiceImpl extends FaxToMailServiceSupport implements Ma @Override public Set<MailFolder> getAllMailFoldersWithReadingRights(FaxToMailUser user) { MailFolderTopiaDao dao = getPersistenceContext().getMailFolderDao(); - return new HashSet<>(dao.getReadableFolders(user)); + return new HashSet<>(dao.getReadableFolders(user, false)); } protected void browseReadableFolders(MailFolder folder, FaxToMailUser user, boolean writable) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm