branch develop updated (ede2c535 -> 98b67ad1)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from ede2c535 - refs #10098 : Ferme quelques ressources non fermées new a602e920 Sonar - Remove "Dead store to local variable" new 8220785e Fix Sonar - Performance issues new 98b67ad1 Fix Hibernate exception The 3 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 98b67ad1b9221b59c8fc89b76dfee1ede5631f2c Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 17:42:50 2018 +0200 Fix Hibernate exception commit 8220785e46ea80ad0897f8d742ef8034c5c2186e Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 15:17:54 2018 +0200 Fix Sonar - Performance issues commit a602e920c0bc9c200a3b95a730c754acdccf7a3a Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 10:56:36 2018 +0200 Sonar - Remove "Dead store to local variable" Summary of changes: .../entities/AbstractFaxToMailTopiaDao.java | 20 ++- .../persistence/entities/EmailTopiaDao.java | 187 +-------------------- .../services/service/ConfigurationServiceImpl.java | 4 +- .../services/service/EmailServiceImpl.java | 15 +- .../services/service/InitFaxToMailServiceImpl.java | 5 +- .../services/service/LdapServiceImpl.java | 3 - .../swing/actions/PrintOnDefaultPrinterAction.java | 6 +- .../actions/ComputeQuantitiesByRangeAction.java | 12 +- .../OpenMailFolderChooserFromListAction.java | 8 +- .../demandgroup/DemandGroupCellRenderer.java | 2 - .../ui/swing/content/reply/ReplyFormUIHandler.java | 2 +- .../transmit/MailFolderChooserUIHandler.java | 22 +-- .../content/transmit/actions/TransmitAction.java | 6 +- .../faxtomail/web/FaxToMailInterceptor.java | 7 +- 14 files changed, 62 insertions(+), 237 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit a602e920c0bc9c200a3b95a730c754acdccf7a3a Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 10:56:36 2018 +0200 Sonar - Remove "Dead store to local variable" --- .../faxtomail/services/service/ConfigurationServiceImpl.java | 4 ++-- .../com/franciaflex/faxtomail/services/service/EmailServiceImpl.java | 2 +- .../faxtomail/services/service/InitFaxToMailServiceImpl.java | 5 +++-- .../com/franciaflex/faxtomail/services/service/LdapServiceImpl.java | 3 --- .../swing/content/demande/demandgroup/DemandGroupCellRenderer.java | 2 -- .../faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java | 2 +- 6 files changed, 7 insertions(+), 11 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java index 09d9bfb9..af8fb883 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java @@ -135,9 +135,9 @@ public class ConfigurationServiceImpl extends FaxToMailServiceSupport implements protected void saveConfiguration(Configuration config) { ConfigurationTopiaDao dao = getPersistenceContext().getConfigurationDao(); if (config.isPersisted()) { - config = dao.update(config); + dao.update(config); } else { - config = dao.create(config); + dao.create(config); } } 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 933fc964..4385b3be 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 @@ -981,7 +981,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe mailLock = new MailLockImpl(); mailLock.setLockBy(currentUser); mailLock.setLockOn(email); - mailLock = mailLockDao.create(mailLock); + mailLockDao.create(mailLock); if (log.isDebugEnabled()) { log.debug("[LOCK] " + emailId + " locked by " + currentUser.getLogin()); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java index 458a7828..5f890588 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java @@ -198,8 +198,9 @@ public class InitFaxToMailServiceImpl extends FaxToMailServiceSupport implements MailFolder.PROPERTY_COMPANY, "FX", MailFolder.PROPERTY_USE_CURRENT_LEVEL_REJECT_RESPONSE_MAIL_ADDRESS, true, MailFolder.PROPERTY_USE_CURRENT_LEVEL_REJECT_RESPONSE_MESSAGE, true); - MailFolder faber = folderDao.create(MailFolder.PROPERTY_NAME, "Faber"); - MailFolder franceFermeture = folderDao.create(MailFolder.PROPERTY_NAME, "France Fermetures", + //folders never used + folderDao.create(MailFolder.PROPERTY_NAME, "Faber"); + folderDao.create(MailFolder.PROPERTY_NAME, "France Fermetures", MailFolder.PROPERTY_USE_CURRENT_LEVEL_COMPANY, true, MailFolder.PROPERTY_COMPANY, "FF"); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java index f3046486..d4bd3c2b 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java @@ -404,9 +404,6 @@ public class LdapServiceImpl extends FaxToMailServiceSupport implements LdapServ getApplicationConfig().getLdapPassword()); if (connection.isConnected()) { - FaxToMailUserTopiaDao faxtomailUserDao = getPersistenceContext().getFaxToMailUserDao(); - FaxToMailUserGroupTopiaDao faxtomailUserGroupDao = getPersistenceContext().getFaxToMailUserGroupDao(); - // get all users ( String usersBaseDN = "OU=Mac-Groupe,DC=mac-groupe,DC=net"; String usersFilter = "(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=mac-groupe,DC=net)"; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupCellRenderer.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupCellRenderer.java index 6592524f..bb80934b 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupCellRenderer.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupCellRenderer.java @@ -93,9 +93,7 @@ public class DemandGroupCellRenderer extends DefaultTableCellRenderer { toolTipTextValue = sb.substring(5); } String textValue = t("faxtomail.demandGroupCellRenderer.text", demands != null ? demands.size() : 0); - boolean editable = table.isCellEditable(row, column); toolTipTextValue = String.format(TEXT_PATTERN, toolTipTextValue); -// setEnabled(editable); setText(textValue); setToolTipText(toolTipTextValue); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java index 13754bfd..bdbaedeb 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java @@ -616,7 +616,7 @@ public class ReplyFormUIHandler extends AbstractFaxToMailUIHandler<ReplyFormUIMo } //insert refs après le premier body - StringBuilder returnMessage= new StringBuilder(); + StringBuilder returnMessage; if (message.contains("<body>")) { String[] parts = message.split("(?<=<body>)"); returnMessage = new StringBuilder(parts[0] + "<p>" + refs + "</p>" + parts[1]); -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 8220785e46ea80ad0897f8d742ef8034c5c2186e Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 15:17:54 2018 +0200 Fix Sonar - Performance issues --- .../entities/AbstractFaxToMailTopiaDao.java | 20 ++- .../persistence/entities/EmailTopiaDao.java | 187 +-------------------- .../swing/actions/PrintOnDefaultPrinterAction.java | 6 +- .../actions/ComputeQuantitiesByRangeAction.java | 12 +- .../OpenMailFolderChooserFromListAction.java | 8 +- .../transmit/MailFolderChooserUIHandler.java | 22 +-- .../content/transmit/actions/TransmitAction.java | 6 +- .../faxtomail/web/FaxToMailInterceptor.java | 7 +- 8 files changed, 50 insertions(+), 218 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AbstractFaxToMailTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AbstractFaxToMailTopiaDao.java index 653c1ba7..4b4910db 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AbstractFaxToMailTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/AbstractFaxToMailTopiaDao.java @@ -60,11 +60,14 @@ public abstract class AbstractFaxToMailTopiaDao<E extends TopiaEntity> extends A public <K> List<K> find(String hql, Map<String, Object> hqlParameters, PaginationParameter pager) { if (log.isDebugEnabled()) { - String params = ""; - for (String key : hqlParameters.keySet()) { - params += key + " : " + hqlParameters.get(key) + "\n"; + StringBuilder params = new StringBuilder(); + for (Map.Entry<String,Object> entry : hqlParameters.entrySet()) { + params.append(entry.getKey()); + params.append(" : "); + params.append(entry.getValue()); + params.append("\n"); } - log.debug("find:\n\t" + hql + "\n\t" + params + "\t" + GSON_INSTANCE.toJson(pager)); + log.debug("find:\n\t" + hql + "\n\t" + params.toString() + "\t" + GSON_INSTANCE.toJson(pager)); } return super.find(hql, hqlParameters, pager); } @@ -72,9 +75,12 @@ public abstract class AbstractFaxToMailTopiaDao<E extends TopiaEntity> extends A /** only to log the query, in order to find why there is a java heap space exception */ protected <O> List<O> findAll(String hql, Map<String, Object> hqlParameters) { if (log.isDebugEnabled()) { - String params = ""; - for (String key : hqlParameters.keySet()) { - params += key + " : " + hqlParameters.get(key) + "\n"; + StringBuilder params = new StringBuilder(); + for (Map.Entry<String,Object> entry : hqlParameters.entrySet()) { + params.append(entry.getKey()); + params.append(" : "); + params.append(entry.getValue()); + params.append("\n"); } log.debug("findAll:\n\t" + hql + "\t" + params); 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 a9a5eb18..00dfbadb 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 @@ -44,6 +44,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; +import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Comparator; @@ -1068,141 +1069,6 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { } public QuantitiesByRange computeQuantitiesByRange(List<MailFolder> folders, boolean computeQuantitiesSubtotalsByState) { - - /*String allRangesQuery = "SELECT DISTINCT range" + - " FROM " + Email.class.getName() + " AS email " + - " INNER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow" + - " INNER JOIN rangeRow." + RangeRow.PROPERTY_RANGE + " AS range" + - " WHERE email." + Email.PROPERTY_MAIL_FOLDER + " IN :folders"; - - Map<String, Object> args = new HashMap<>(); - args.put("folders", folders); - List<Range> allRanges = findAll(allRangesQuery, args); - Map<String, Range> rangesById = Maps.uniqueIndex(allRanges, TopiaEntities.getTopiaIdFunction()); - - // this has been modified from - // SELECT range - // to - // SELECT range.topiaId - // do to bug https://hibernate.atlassian.net/browse/HHH-1615 that can be reproduced - // on sql server - - String quantitiesByRangeQuery = "SELECT range." + Range.PROPERTY_TOPIA_ID + "," + - " SUM(rangeRow." + RangeRow.PROPERTY_PRODUCT_QUANTITY + ") AS prodQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_SAV_QUANTITY + ") AS savQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_QUOTATION_QUANTITY + ") AS quotQ" + - " FROM " + Email.class.getName() + " AS email " + - " INNER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow" + - " INNER JOIN rangeRow." + RangeRow.PROPERTY_RANGE + " AS range" + - " WHERE email." + Email.PROPERTY_MAIL_FOLDER + " IN :folders" + - " GROUP BY range"; - - args = new HashMap<>(); - args.put("folders", folders); - - Map<Range, Quantities> quantitiesByRange = new TreeMap<>(new Comparator<Range>() { - @Override - public int compare(Range o1, Range o2) { - return o1.getLabel().compareTo(o2.getLabel()); - } - }); - Long productTotalQuantity = 0L; - Long savTotalQuantity = 0L; - Long quotationTotalQuantity = 0L; - - List<Object[]> queryResuts = findAll(quantitiesByRangeQuery, args); - for (Object[] queryResut : queryResuts) { - Range range = rangesById.get(String.valueOf(queryResut[0])); - - Long productQuantity = (Long) queryResut[1]; - if (productQuantity != null) { - productTotalQuantity += productQuantity; - } - - Long savQuantity = (Long) queryResut[2]; - if (savQuantity != null) { - savTotalQuantity += savQuantity; - } - - Long quotationQuantity = (Long) queryResut[3]; - if (quotationQuantity != null) { - quotationTotalQuantity += quotationQuantity; - } - - Quantities quantities = new Quantities(productQuantity, savQuantity, quotationQuantity); - quantitiesByRange.put(range, quantities); - } - - Quantities totalQuantities = new Quantities(productTotalQuantity, savTotalQuantity, quotationTotalQuantity); - - Quantities inProgressDemandsQuantities = null; - Quantities otherDemandsQuantities = null; - - if (computeQuantitiesSubtotalsByState) { - - //inProgressQuantities correspond aux "Pris par et sans état d'attente" - String inProgressQuantitiesQuery = "SELECT SUM(rangeRow." + RangeRow.PROPERTY_PRODUCT_QUANTITY + ") AS prodQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_SAV_QUANTITY + ") AS savQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_QUOTATION_QUANTITY + ") AS quotQ" + - " FROM " + Email.class.getName() + " AS email " + - " INNER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow" + - " WHERE email." + Email.PROPERTY_MAIL_FOLDER + " IN :folders" + - " AND email." + Email.PROPERTY_TAKEN_BY + " IS NOT NULL" + - " AND email." + Email.PROPERTY_WAITING_STATE + " IS NULL"; - - args = new HashMap<>(); - args.put("folders", folders); - - Object[] queryResut = findUnique(inProgressQuantitiesQuery, args); - Long productInProgressQuantity = (Long) queryResut[0]; - if (productInProgressQuantity == null) { - productInProgressQuantity = 0L; - } - Long savInProgressQuantity = (Long) queryResut[1]; - if (savInProgressQuantity == null) { - savInProgressQuantity = 0L; - } - Long quotationInProgressQuantity = (Long) queryResut[2]; - if (quotationInProgressQuantity == null) { - quotationInProgressQuantity = 0L; - } - - inProgressDemandsQuantities = new Quantities(productInProgressQuantity, - savInProgressQuantity, - quotationInProgressQuantity); - - //otherDemandsQuantities correspond aux lignes "avec état d'attente" - String otherDemandsQuantitiesQuery = "SELECT SUM(rangeRow." + RangeRow.PROPERTY_PRODUCT_QUANTITY + ") AS prodQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_SAV_QUANTITY + ") AS savQ," + - " SUM(rangeRow." + RangeRow.PROPERTY_QUOTATION_QUANTITY + ") AS quotQ" + - " FROM " + Email.class.getName() + " AS email " + - " INNER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow" + - " WHERE email." + Email.PROPERTY_MAIL_FOLDER + " IN :folders" + - // " AND email." + Email.PROPERTY_TAKEN_BY + " IS NOT NULL" + - " AND email." + Email.PROPERTY_WAITING_STATE + " IS NOT NULL"; - - args = new HashMap<>(); - args.put("folders", folders); - - Object[] otherDemandsQueryResut = findUnique(otherDemandsQuantitiesQuery, args); - Long productOtherDemandsQuantity = (Long) otherDemandsQueryResut[0]; - if (productOtherDemandsQuantity == null) { - productOtherDemandsQuantity = 0L; - } - Long savOtherDemandsQuantity = (Long) otherDemandsQueryResut[1]; - if (savOtherDemandsQuantity == null) { - savOtherDemandsQuantity = 0L; - } - Long quotationOtherDemandsQuantity = (Long) otherDemandsQueryResut[2]; - if (quotationOtherDemandsQuantity == null) { - quotationOtherDemandsQuantity = 0L; - } - - otherDemandsQuantities = new Quantities(productOtherDemandsQuantity, - savOtherDemandsQuantity, - quotationOtherDemandsQuantity); - } */ - //compute inProgressQuantitiesByRange //compute inProgressQuantitiesSubtotal //correspond aux lignes sans état d'attente @@ -1367,7 +1233,6 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { @Deprecated protected String addAllFecthes(String... fetchProperties) { StringBuilder hqlFromClauseBuilder = new StringBuilder(); - //if (includeFetch) { int fetchedPropertiesAliasIndex = 0; Map<String, String> aliases = Maps.newHashMap(); for (String propertyName : fetchProperties) { @@ -1406,7 +1271,6 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { } } } - //} return hqlFromClauseBuilder.toString(); } @@ -1442,28 +1306,28 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { } else { propertyList = StringUtils.join(properties, ", "); } - String query = "SELECT DISTINCT " + propertyList + - " FROM " + Email.class.getName() + " AS email"; + StringBuilder query = new StringBuilder("SELECT DISTINCT " + propertyList + + " FROM " + Email.class.getName() + " AS email"); for (String property : properties) { if (property.startsWith("client.")) { - query += " LEFT OUTER JOIN email." + Email.PROPERTY_CLIENT + " AS client"; + query.append(" LEFT OUTER JOIN email." + Email.PROPERTY_CLIENT + " AS client"); break; } } for (String property : properties) { if (property.startsWith("rangeRow.")) { - query += " LEFT OUTER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow"; + query.append(" LEFT OUTER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow"); break; } } - query += folderAndStatusCondition; + query.append(folderAndStatusCondition); if (sum) { - query += " GROUP BY email." + Email.PROPERTY_TOPIA_ID; + query.append(" GROUP BY email." + Email.PROPERTY_TOPIA_ID); } - List<Object> queryResults = findAll(query, args); + List<Object> queryResults = findAll(query.toString(), args); Set<Object> result = new HashSet<>(); if (properties.length == 1) { result.addAll(queryResults); @@ -1471,42 +1335,9 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { } else { for (Object o1 : queryResults) { Object[] objects = (Object[]) o1; - for (Object o2 : objects) { - result.add(o2); - } + result.addAll(Arrays.asList(objects)); } } - - // check if the property is sometimes null - /*if (property.startsWith("rangeRow.")) { - query = "FROM " + Email.class.getName() + " AS email" + - " LEFT OUTER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow" + - folderAndStatusCondition + " AND rangeRow IS NULL"; - - queryResults = findAll(query, args); - if (!queryResults.isEmpty()) { - result.add(null); - } - } - - if (!result.contains(null)) { - query = "FROM " + Email.class.getName() + " AS email"; - if (property.startsWith("client.")) { - query += " LEFT OUTER JOIN email." + Email.PROPERTY_CLIENT + " AS client"; - - } else if (property.startsWith("rangeRow.")) { - query += " LEFT OUTER JOIN email." + Email.PROPERTY_RANGE_ROW + " AS rangeRow"; - } - query += folderAndStatusCondition + " AND " + property + " IS NULL"; - - if (StringUtils.isNotBlank(condition)) { - query += " AND " + condition; - } - queryResults = findAll(query, args); - if (!queryResults.isEmpty()) { - result.add(null); - } - }*/ // 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 diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java index 1926d430..54e3ce86 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java @@ -170,14 +170,14 @@ public class PrintOnDefaultPrinterAction extends AbstractFaxToMailAction { super.postSuccessAction(); if (!notPrintableDemands.isEmpty()) { - String notPrintableDemandTitles = ""; + StringBuilder notPrintableDemandTitles = new StringBuilder(); for (DemandeUIModel demandeUIModel : notPrintableDemands) { - notPrintableDemandTitles += "- " + demandeUIModel.getTitle() + "<br/>"; + notPrintableDemandTitles.append("- ").append(demandeUIModel.getTitle()).append("<br/>"); } displayWarningMessage(t("faxtomail.action.print.notPrintableDemands.title"), t("faxtomail.action.print.notPrintableDemands.message", - notPrintableDemandTitles)); + notPrintableDemandTitles.toString())); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/ComputeQuantitiesByRangeAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/ComputeQuantitiesByRangeAction.java index f86c5664..dc6110f4 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/ComputeQuantitiesByRangeAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/ComputeQuantitiesByRangeAction.java @@ -65,11 +65,11 @@ public class ComputeQuantitiesByRangeAction extends AbstractFaxToMailAction<Quan //inProgress demands Model building List<RangeRowModel> inProgressRangeRows = new ArrayList<>(); Map<Range, Quantities> inProgressQuantitiesByRangeMap = quantitiesByRange.getInProgressQuantitiesByRange(); - for (Range range : inProgressQuantitiesByRangeMap.keySet()) { + for (Map.Entry<Range, Quantities> entry : inProgressQuantitiesByRangeMap.entrySet()) { RangeRowModel row = new RangeRowModel(); - row.setRange(range); + row.setRange(entry.getKey()); - Quantities quantities = inProgressQuantitiesByRangeMap.get(range); + Quantities quantities = entry.getValue(); Long productQuantity = quantities.getProductQuantity(); if (productQuantity == null) { @@ -102,11 +102,11 @@ public class ComputeQuantitiesByRangeAction extends AbstractFaxToMailAction<Quan //waiting demands Model building List<RangeRowModel> waitingRangeRows = new ArrayList<>(); Map<Range, Quantities> waitingQuantitiesByRangeMap = quantitiesByRange.getWaitingQuantitiesByRange(); - for (Range range : waitingQuantitiesByRangeMap.keySet()) { + for (Map.Entry<Range, Quantities> entry : waitingQuantitiesByRangeMap.entrySet()) { RangeRowModel row = new RangeRowModel(); - row.setRange(range); + row.setRange(entry.getKey()); - Quantities quantities = waitingQuantitiesByRangeMap.get(range); + Quantities quantities = entry.getValue(); Long productQuantity = quantities.getProductQuantity(); if (productQuantity == null) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenMailFolderChooserFromListAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenMailFolderChooserFromListAction.java index 14a88cd2..ecc92777 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenMailFolderChooserFromListAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenMailFolderChooserFromListAction.java @@ -64,12 +64,12 @@ public class OpenMailFolderChooserFromListAction extends AbstractFaxToMailAction List<DemandeUIModel> selectedEmails = getModel().getSelectedEmails(); demandsToTransmit = new ArrayList<DemandeUIModel>(); - String notTransmitableDemandsTitle = ""; + StringBuilder notTransmitableDemandsTitle = new StringBuilder(); for (DemandeUIModel demandeUIModel : selectedEmails) { if (!demandeUIModel.isEditable() || !handler.isActionEnabled(demandeUIModel, MailAction.TRANSMIT)) { - notTransmitableDemandsTitle += "- " + demandeUIModel.getTitle() + "<br/>"; + notTransmitableDemandsTitle.append("- ").append(demandeUIModel.getTitle()).append("<br/>"); } else { demandsToTransmit.add(demandeUIModel); } @@ -81,9 +81,9 @@ public class OpenMailFolderChooserFromListAction extends AbstractFaxToMailAction t("faxtomail.alert.noDemandToTransmit.message", notTransmitableDemandsTitle)); result = false; - } else if (!notTransmitableDemandsTitle.isEmpty()) { + } else if (!notTransmitableDemandsTitle.toString().isEmpty()) { displayWarningMessage(t("faxtomail.alert.demandsNotTransmittable.title"), - t("faxtomail.alert.demandsNotTransmittable.message", notTransmitableDemandsTitle)); + t("faxtomail.alert.demandsNotTransmittable.message", notTransmitableDemandsTitle.toString())); } return result; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java index b6534562..c0637bf1 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java @@ -82,19 +82,15 @@ public class MailFolderChooserUIHandler extends AbstractFaxToMailUIHandler<MailF Map<MailFolder, FolderTreeNode> nodesByFolder = FaxToMailUIUtil.initFolderTree(getContext(), navigationTree, folders, false); - for (MailFolder folder : nodesByFolder.keySet()) { - DefaultMutableTreeNode node = nodesByFolder.get(folder); - - if (node.getClass().isAssignableFrom(FolderTreeNode.class)) { - FolderTreeNode folderTreeNode = (FolderTreeNode) node; - - // le dossier n'est pas grisé si: - // - le n'est pas le dossier courrant - // - l'utilsateur à les droits sur le dossier - // - le dossier cible à les mêmes etatAttente/typeDemande que toutes les demandes à bouger - folderTreeNode.setCanSelect(!currentMailFolder.equals(folder) && folder.isFolderMoveable() && - (foldersWithWaitingState == null || foldersWithWaitingState.contains(folder))); - } + for (Map.Entry<MailFolder, FolderTreeNode> entry : nodesByFolder.entrySet()) { + FolderTreeNode node = nodesByFolder.get(entry.getKey()); + + // le dossier n'est pas grisé si: + // - le n'est pas le dossier courrant + // - l'utilsateur à les droits sur le dossier + // - le dossier cible à les mêmes etatAttente/typeDemande que toutes les demandes à bouger + node.setCanSelect(!currentMailFolder.equals(entry.getKey()) && entry.getKey().isFolderMoveable() && + (foldersWithWaitingState == null || foldersWithWaitingState.contains(entry.getKey()))); } navigationTree.addTreeSelectionListener(new TreeSelectionListener() { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/actions/TransmitAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/actions/TransmitAction.java index 6f15e9e0..600cc54f 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/actions/TransmitAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/actions/TransmitAction.java @@ -85,15 +85,15 @@ public class TransmitAction extends AbstractFaxToMailAction<MailFolderChooserUIM }); if (!sameFolderGroupedDemands.isEmpty()) { - String groupedDemandTitles = ""; + StringBuilder groupedDemandTitles = new StringBuilder(); for (DemandeUIModel groupedDemand : sameFolderGroupedDemands) { - groupedDemandTitles += "- " + groupedDemand.getTitle() + "<br/>"; + groupedDemandTitles.append("- ").append(groupedDemand.getTitle()).append("<br/>"); } int i = JOptionPane.showConfirmDialog(null, t("faxtomail.alert.transmit.groupedDemandsInSameFolder.message", demandeUIModel.getTitle(), - groupedDemandTitles), + groupedDemandTitles.toString()), t("faxtomail.alert.transmit.groupedDemandsInSameFolder.title"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java index cf10f9eb..5a3027f5 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java @@ -166,11 +166,10 @@ public class FaxToMailInterceptor implements Interceptor { protected void saveLastAction(ActionInvocation invocation) { Map<String, Object> session = invocation.getInvocationContext().getSession(); ActionProxy proxy = invocation.getProxy(); - String lastLocation = proxy.getNamespace() + "/" + proxy.getActionName() + "!" + proxy.getMethod() + "?"; + StringBuilder lastLocation = new StringBuilder(proxy.getNamespace() + "/" + proxy.getActionName() + "!" + proxy.getMethod() + "?"); Map<String, Object> parameters = invocation.getInvocationContext().getParameters(); - for (String key : parameters.keySet()) { - Object[] value = (Object[]) parameters.get(key); - lastLocation += key + "=" + value[0] + "&"; + for (Map.Entry<String, Object> entry : parameters.entrySet()) { + lastLocation.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); } session.put(SESSION_LAST_LOCATION, lastLocation); } -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 98b67ad1b9221b59c8fc89b76dfee1ede5631f2c Author: jcouteau <couteau@codelutin.com> Date: Wed Sep 26 17:42:50 2018 +0200 Fix Hibernate exception --- .../faxtomail/services/service/EmailServiceImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) 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 4385b3be..8900bcc8 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 @@ -492,7 +492,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe AttachmentFileTopiaDao attachementFileTopiaDao = getPersistenceContext().getAttachmentFileDao(); for (Attachment attachment : attachments) { - // get session attachment from id + // get session attachment from id -> currentAttachment = attachment stored in db Attachment currentAttachment; if (StringUtils.isNotBlank(attachment.getTopiaId())) { currentAttachment = currentAttachmentIndex.remove(attachment.getTopiaId()); @@ -502,7 +502,6 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe AttachmentFile originalFile = null; AttachmentFile editedFile = null; - Collection<GeneratedPDFPage> pages = null; // dans tout les cas, les pieces jointes courantes de l'attachment prévalent // sur celles en base if (attachment.getOriginalFile() != null) { @@ -515,11 +514,6 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe } else { editedFile = currentAttachment.getEditedFile(); } - if (attachment.getGeneratedPDFPages() != null) { - pages = attachment.getGeneratedPDFPages(); - } else { - pages = currentAttachment.getGeneratedPDFPages(); - } // copy new data attachmentBinder.copyExcluding(attachment, currentAttachment, @@ -536,7 +530,8 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe currentAttachment.setEmail(email); currentAttachment.setEditedFile(editedFile); currentAttachment.setOriginalFile(originalFile); - currentAttachment.setGeneratedPDFPages(pages); + + // On ignore les GeneratedPDFPages car elles ne sont jamais modifiées dans l'UI. // ici les pieces jointes peuvent être sauvegardées sans que les pièces jointes // soit présentes dans les entités car l'ui ne les a pas copiées @@ -568,6 +563,8 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe } else { attachmentTopiaDao.update(currentAttachment); } + + getPersistenceContext().getHibernateSupport().getHibernateSession().flush(); } if (!newFiles.isEmpty()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm