Author: kmorin Date: 2014-08-05 15:13:51 +0200 (Tue, 05 Aug 2014) New Revision: 471 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/471 Log: make it build Removed: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Command.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/AbstractFaxToMailServiceTest.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ComputeQuantitiesByRangeAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ReplyAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeFromListAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/LdapAction.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/ClientUpdateJob.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/EDIManagementJob.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-08-05 13:13:51 UTC (rev 471) @@ -6,6 +6,7 @@ import com.franciaflex.faxtomail.persistence.entities.EtatAttente; import com.franciaflex.faxtomail.persistence.entities.ExtensionCommand; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.MailField; import com.franciaflex.faxtomail.persistence.entities.MailFilter; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.services.FaxToMailService; @@ -39,4 +40,8 @@ Map<String, Object> checkDirectory(String path); Map<String, Object> checkMailaccount(EmailAccount account); + + long getEmailMaxSize(); + + List<MailField> getSearchDisplayColumns(); } Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-05 13:13:51 UTC (rev 471) @@ -38,6 +38,7 @@ import javax.mail.Session; import javax.mail.Store; +import com.franciaflex.faxtomail.persistence.entities.MailField; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -589,4 +590,16 @@ } return result; } + + @Override + public long getEmailMaxSize() { + Configuration conf = getConfiguration(); + return conf.getEmailMaxSize(); + } + + @Override + public List<MailField> getSearchDisplayColumns() { + Configuration conf = getConfiguration(); + return conf.getSearchDisplayColumns(); + } } Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/AbstractFaxToMailServiceTest.java =================================================================== --- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/AbstractFaxToMailServiceTest.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/AbstractFaxToMailServiceTest.java 2014-08-05 13:13:51 UTC (rev 471) @@ -136,31 +136,15 @@ FaxToMailTopiaApplicationContext applicationContext = newApplicationContext(DATABASE_REF); - FaxToMailTopiaPersistenceContext persistenceContext; + FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(applicationContext); - persistenceContext = applicationContext.newPersistenceContext(); - - if (log.isTraceEnabled()) { - log.trace("opened transaction " + persistenceContext); - } - - FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(); - serviceContext.setApplicationConfig(getApplicationConfig()); - serviceContext.setPersistenceContext(persistenceContext); + InitFaxToMailService initFaxToMailService = serviceContext.newService(InitFaxToMailService.class); - InitFaxToMailService initFaxToMailService = serviceContext.newService(InitFaxToMailServiceImpl.class); - initFaxToMailService.init(); if (log.isTraceEnabled()) { - log.trace("closing transaction " + persistenceContext); - } - - persistenceContext.close(); - - if (log.isTraceEnabled()) { log.trace("closing transaction " + applicationContext); } @@ -272,16 +256,11 @@ if (serviceContext == null) { - FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(); + FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(applicationContext); serviceContext.setApplicationConfig(getApplicationConfig()); - FaxToMailTopiaPersistenceContext persistenceContext = newPersistenceContext(); - - serviceContext.setPersistenceContext(persistenceContext); - this.serviceContext = serviceContext; - } return serviceContext; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-05 13:13:51 UTC (rev 471) @@ -216,7 +216,7 @@ FaxToMailServiceContext serviceContext = newServiceContext(); InitFaxToMailService initExtranetService = - serviceContext.newService(InitFaxToMailServiceImpl.class); + serviceContext.newService(InitFaxToMailService.class); initExtranetService.init(); @@ -472,8 +472,7 @@ //------------------------------------------------------------------------// public FaxToMailServiceContext newServiceContext() { - FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(); - serviceContext.setTopiaApplicationContext(topiaApplicationContext); + FaxToMailServiceContext serviceContext = new FaxToMailServiceContext(topiaApplicationContext); serviceContext.setApplicationConfig(config); return serviceContext; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ComputeQuantitiesByRangeAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ComputeQuantitiesByRangeAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ComputeQuantitiesByRangeAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.Range; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.content.demande.QuantitiesByRangeUI; import com.franciaflex.faxtomail.ui.swing.content.demande.QuantitiesByRangeUIHandler; import com.franciaflex.faxtomail.ui.swing.content.demande.QuantitiesByRangeUIModel; @@ -56,7 +57,8 @@ @Override public void doAction() throws Exception { MailFolder folder = getModel().getRootFolder(); - Map<Range, Long[]> quantitiesByRange = getContext().getEmailService().computeQuantitiesByRange(folder); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + Map<Range, Long[]> quantitiesByRange = serviceContext.getEmailService().computeQuantitiesByRange(folder); List<RangeRowModel> rangeRows = new ArrayList<>(); for (Range range : quantitiesByRange.keySet()) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -33,6 +33,7 @@ import javax.swing.JTextArea; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; @@ -250,7 +251,8 @@ // convert content to blob InputStream is = new BufferedInputStream(new FileInputStream(target)); - AttachmentFile attachmentFileNew = getContext().getEmailService().getAttachmentFileFromStream(is); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + AttachmentFile attachmentFileNew = serviceContext.getEmailService().getAttachmentFileFromStream(is); attachmentFileNew.setRotation(rotation); String fileName = getModel().getNotNullFile().getFilename(); attachmentFileNew.setFilename(FaxToMailUIUtil.getEditedFileName(fileName)); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GroupAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUI; @@ -75,7 +76,8 @@ @Override public void doAction() throws Exception { - EmailService emailService = getContext().getEmailService(); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + EmailService emailService = serviceContext.getEmailService(); Email email2 = emailService.getEmailById(selectedEmail.getTopiaId()); Email email1 = emailService.getEmailById(currentEmail.getTopiaId()); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -85,7 +85,8 @@ MailFolder folder = model.getSelectedFolder(); FaxToMailUser currentUser = getContext().getCurrentUser(); - PaginationResult<Email> paginationResult = getContext().getEmailService().getEmailForFolder(folder, currentUser, model.getPaginationParameter()); + PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService() + .getEmailForFolder(folder, currentUser, model.getPaginationParameter()); List<Email> emails = paginationResult.getElements(); if (log.isDebugEnabled()) { log.debug(emails.size() + " emails in folder " + folder.getName()); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -28,6 +28,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.HistoryType; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; @@ -87,9 +88,10 @@ List<String> printedFiles = new ArrayList<String>(); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); if (printDemandDetails) { // generate details as pdf - EmailService emailService = getContext().getEmailService(); + EmailService emailService = serviceContext.getEmailService(); Email email = demandeUIModel.toEntity(); final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email); // print details @@ -109,7 +111,7 @@ } } - Email email = getContext().getEmailService().addToHistory(demandeUIModel.getTopiaId(), + Email email = serviceContext.getEmailService().addToHistory(demandeUIModel.getTopiaId(), HistoryType.PRINTING, getContext().getCurrentUser(), new Date(), Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ReplyAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ReplyAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ReplyAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyAttachmentModel; @@ -60,7 +61,8 @@ log.info("do reply"); ReplyFormUIModel model = getModel(); - emailService = getContext().getEmailService(); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + emailService = serviceContext.getEmailService(); DemandeUIModel originalDemand = getModel().getOriginalDemand(); Collection<AttachmentFile> attachmentFiles = Collections2.transform(model.getAttachments(), new Function<ReplyAttachmentModel, AttachmentFile>() { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -28,6 +28,7 @@ import java.util.Collection; import java.util.Map; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.beans.BeanMonitor; @@ -65,8 +66,9 @@ Email persistedEmail; String topiaId = model.getTopiaId(); + FaxToMailServiceContext serviceContext = context.newServiceContext(); if (!StringUtils.isBlank(topiaId)) { - persistedEmail = context.getEmailService().getEmailById(topiaId); + persistedEmail = serviceContext.getEmailService().getEmailById(topiaId); } else { persistedEmail = new EmailImpl(); } @@ -97,7 +99,7 @@ BeanMonitor monitor = getHandler().getMonitor(); String[] modifiedProperties = monitor.getModifiedProperties(); - email = context.getEmailService().saveEmail(email, attachments, clientCode, currentUser, modifiedProperties); + email = serviceContext.getEmailService().saveEmail(email, attachments, clientCode, currentUser, modifiedProperties); model.fromEntity(email); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeFromListAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeFromListAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeFromListAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUI; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler; @@ -55,12 +56,13 @@ for (DemandeUIModel model : getModel().getCurrentEmails()) { String topiaId = model.getTopiaId(); - Email persistedEmail = context.getEmailService().getEmailById(topiaId); + FaxToMailServiceContext serviceContext = context.newServiceContext(); + Email persistedEmail = serviceContext.getEmailService().getEmailById(topiaId); FaxToMailUser currentUser = context.getCurrentUser(); Email email = model.toEntity(persistedEmail); - email = context.getEmailService().saveEmail(email, currentUser, modifiedProperties); + email = serviceContext.getEmailService().saveEmail(email, currentUser, modifiedProperties); model.fromEntity(email); } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.List; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import org.nuiton.util.pagination.PaginationResult; import com.franciaflex.faxtomail.persistence.entities.Email; @@ -56,7 +57,8 @@ EmailFilter emailFilter = model.toEntity(); - PaginationResult<Email> paginationResult = getContext().getEmailService().search(emailFilter, + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + PaginationResult<Email> paginationResult = serviceContext.getEmailService().search(emailFilter, getContext().getCurrentUser(), getModel().getPaginationParameter()); List<Email> emails = paginationResult.getElements(); List<DemandeUIModel> result = new ArrayList<>(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EmailFilter; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUI; import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUIHandler; @@ -55,7 +56,8 @@ getContext().setSearch(model); EmailFilter emailFilter = model.toEntity(); - PaginationResult<Email> paginationResult = getContext().getEmailService().search(emailFilter, + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + PaginationResult<Email> paginationResult = serviceContext.getEmailService().search(emailFilter, getContext().getCurrentUser(), getModel().getPaginationParameter()); List<Email> emails = paginationResult.getElements(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -25,6 +25,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException; import com.franciaflex.faxtomail.ui.swing.FaxToMailScreen; import com.franciaflex.faxtomail.ui.swing.content.MainUIHandler; @@ -61,7 +62,8 @@ FaxToMailUser currentUser = getContext().getCurrentUser(); try { - getContext().getEmailService().lockEmail(currentEmail.getTopiaId(), currentUser); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + serviceContext.getEmailService().lockEmail(currentEmail.getTopiaId(), currentUser); } catch (AlreadyLockedMailException ex) { result = false; @@ -82,7 +84,8 @@ DemandeUIModel currentEmail = getContext().getCurrentEmail(); if (StringUtils.isNotBlank(currentEmail.getTopiaId())) { - Email email = getContext().getEmailService().getEmailById(currentEmail.getTopiaId()); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + Email email = serviceContext.getEmailService().getEmailById(currentEmail.getTopiaId()); currentEmail.setGroupedDemandes(email.getEmailGroup()); } } @@ -128,7 +131,8 @@ break; case JOptionPane.YES_OPTION: - Email email = getContext().getEmailService().takeEmail(currentEmail.getTopiaId(), currentUser); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + Email email = serviceContext.getEmailService().takeEmail(currentEmail.getTopiaId(), currentUser); currentEmail.fromEntity(email); currentEmail.setEditable(true); break; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2014-08-05 13:13:51 UTC (rev 471) @@ -27,6 +27,7 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.HistoryType; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailBeanUIModel; @@ -113,7 +114,8 @@ } else { filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName()); } - Email email = context.getEmailService().addToHistory(topiaId, + FaxToMailServiceContext serviceContext = context.newServiceContext(); + Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_OPENING, context.getCurrentUser(), new Date(), @@ -125,7 +127,8 @@ @Override public void onAttachmentEdited(Attachment attachment) { String topiaId = model.getTopiaId(); - Email email = context.getEmailService().addToHistory(topiaId, + FaxToMailServiceContext serviceContext = context.newServiceContext(); + Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_MODIFICATION, context.getCurrentUser(), new Date(), Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.actions.EditAttachmentAction; import com.franciaflex.faxtomail.ui.swing.actions.OpenAttachmentAction; import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupHandler; @@ -159,7 +160,8 @@ try { // warning, this not NOT be closed (will be by blob on commit) InputStream is = new FileInputStream(file); - AttachmentFile attachmentFile = getContext().getEmailService().getAttachmentFileFromStream(is); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + AttachmentFile attachmentFile = serviceContext.getEmailService().getAttachmentFileFromStream(is); attachmentFile.setFilename(file.getName()); attachment.setOriginalFile(attachmentFile); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -136,11 +136,9 @@ super.beforeInit(ui); - // open new transaction for current folder - getContext().createNewTransaction(); - DemandeListUIModel model = new DemandeListUIModel(); - Collection<MailFolder> folders = getContext().getMailFolderService().getRootMailFoldersWithReadingRights(getContext().getCurrentUser()); + Collection<MailFolder> folders = getContext().newServiceContext().getMailFolderService() + .getRootMailFoldersWithReadingRights(getContext().getCurrentUser()); model.setFolders(new ArrayList<MailFolder>(folders)); this.ui.setContextValue(model); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -47,6 +47,7 @@ import javax.swing.event.ListSelectionListener; import javax.swing.table.TableCellEditor; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.collections4.CollectionUtils; @@ -134,7 +135,8 @@ }); MailFolder folder = model.getMailFolder(); - ReferentielService referentielService = getContext().getReferentielService(); + final FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + ReferentielService referentielService = serviceContext.getReferentielService(); initBeanFilterableComboBox(ui.getPriorityComboBox(), referentielService.getAllPriority(), model.getPriority()); initBeanFilterableComboBox(ui.getStatusComboBox(), Arrays.asList(DemandStatus.values()), model.getDemandStatus()); @@ -361,7 +363,7 @@ } else { filename = FaxToMailUIUtil.getEditedFileName(attachment.getOriginalFileName()); } - Email email = getContext().getEmailService().addToHistory(topiaId, + Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_OPENING, getContext().getCurrentUser(), new Date(), @@ -374,7 +376,7 @@ public void onAttachmentEdited(Attachment attachment) { String topiaId = getModel().getTopiaId(); if (topiaId != null) { - Email email = getContext().getEmailService().addToHistory(topiaId, + Email email = serviceContext.getEmailService().addToHistory(topiaId, HistoryType.ATTACHMENT_MODIFICATION, getContext().getCurrentUser(), new Date(), @@ -449,7 +451,8 @@ // mettre ca ici et non dans le close, car pour un onglet, le close n'est pas appelé if (result) { - getContext().getEmailService().unlockEmail(getModel().getTopiaId()); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + serviceContext.getEmailService().unlockEmail(getModel().getTopiaId()); } return result; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/DemandGroupUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.content.MainUIHandler; @@ -162,7 +163,8 @@ try { // tentative de verrouillage de la demande - getContext().getEmailService().lockEmail(demande.getTopiaId(), currentUser); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + serviceContext.getEmailService().lockEmail(demande.getTopiaId(), currentUser); if (demande.getArchiveDate() != null) { demande.setEditable(false); @@ -188,7 +190,7 @@ break; case JOptionPane.YES_OPTION: - Email email = getContext().getEmailService().takeEmail(demande.getTopiaId(), currentUser); + Email email = serviceContext.getEmailService().takeEmail(demande.getTopiaId(), currentUser); demande.fromEntity(email); demande.setEditable(true); break; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -55,6 +55,7 @@ import javax.swing.JComponent; import javax.swing.JPanel; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import jaxx.runtime.swing.ComponentMover; import jaxx.runtime.swing.ComponentResizer; import jaxx.runtime.validator.swing.SwingValidator; @@ -532,7 +533,8 @@ writer.close(); // convert content to blob - AttachmentFile attachmentFileNew = getContext().getEmailService().getAttachmentFileFromStream(new FileInputStream(target)); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + AttachmentFile attachmentFileNew = serviceContext.getEmailService().getAttachmentFileFromStream(new FileInputStream(target)); attachmentFileNew.setFilename(attachmentFile.getFilename() + ".pdf"); attachmentFileNew.setRotation(0); getModel().setEditedFile(attachmentFileNew); @@ -572,7 +574,8 @@ // j'ai essayé une action vite fait mais ca ferme l'éditeur à la fin de l'action if (print) { DemandeUIModel demand = model.getDemand(); - Email email = getContext().getEmailService().addToHistory(demand.getTopiaId(), + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + Email email = serviceContext.getEmailService().addToHistory(demand.getTopiaId(), HistoryType.PRINTING, getContext().getCurrentUser(), new Date(), Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -30,6 +30,7 @@ import javax.swing.JCheckBox; import javax.swing.JComponent; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.actions.PrintOnDefaultPrinterAction; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -64,7 +65,8 @@ DemandeUIModel demand = model.getDemand(); // add demand details - EmailService emailService = getContext().getEmailService(); + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + EmailService emailService = serviceContext.getEmailService(); Email email = getModel().getDemand().toEntity(); final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -97,7 +97,7 @@ super.beforeInit(ui); ReplyFormUIModel model = new ReplyFormUIModel(); - long maxSize = getContext().getFaxToMailConfiguration().getEmailMaxSize(); + long maxSize = getContext().newServiceContext().getConfigurationService().getEmailMaxSize(); model.setMaxAttachmentLength(maxSize); this.ui.setContextValue(model); @@ -248,7 +248,7 @@ Attachment attachment = replyAttachmentModel.getAttachment(); if (replyAttachmentModel.getAttachmentFile() == null && attachment.isPersisted()) { // TODO action ? - EmailService service = getContext().getEmailService(); + EmailService service = getContext().newServiceContext().getEmailService(); boolean original = replyAttachmentModel.isOriginal(); AttachmentFile file = service.getAttachmentFile(attachment.getTopiaId(), original); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -37,7 +37,6 @@ import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler; import com.franciaflex.faxtomail.ui.swing.util.Cancelable; -import com.franciaflex.faxtomail.ui.swing.util.Command; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; @@ -78,6 +77,8 @@ /** Logger. */ private static final Log log = LogFactory.getLog(SearchToGroupUIHandler.class); + protected List<MailField> tableColumns; + @Override public void beforeInit(SearchToGroupUI ui) { super.beforeInit(ui); @@ -114,136 +115,128 @@ initUI(ui); FaxToMailServiceContext serviceContext = getContext().newServiceContext(); - Command command = new Command(serviceContext) { - @Override - protected void doAction() { + ReferentielService referentielService = serviceContext.getReferentielService(); - SearchToGroupUI ui = getUI(); - ReferentielService referentielService = serviceContext.getReferentielService(); + List<FaxToMailUser> users = serviceContext.getUserService().getAllActiveUsers(); + SearchUIModel model = getModel(); + initBeanFilterableComboBox(ui.getTakenByComboBox(), + users, + model.getTakenBy()); + initBeanFilterableComboBox(ui.getModifiedByComboBox(), + users, + model.getModifiedBy()); + initBeanFilterableComboBox(ui.getArchivedByComboBox(), + users, + model.getArchivedBy()); + initBeanFilterableComboBox(ui.getTransferByComboBox(), + users, + model.getTransferBy()); + initBeanFilterableComboBox(ui.getPrintedByComboBox(), + users, + model.getPrintingBy()); + initBeanFilterableComboBox(ui.getRepliedByComboBox(), + users, + model.getReplyBy()); - List<FaxToMailUser> users = serviceContext.getUserService().getAllActiveUsers(); - SearchUIModel model = getModel(); - initBeanFilterableComboBox(ui.getTakenByComboBox(), - users, - model.getTakenBy()); - initBeanFilterableComboBox(ui.getModifiedByComboBox(), - users, - model.getModifiedBy()); - initBeanFilterableComboBox(ui.getArchivedByComboBox(), - users, - model.getArchivedBy()); - initBeanFilterableComboBox(ui.getTransferByComboBox(), - users, - model.getTransferBy()); - initBeanFilterableComboBox(ui.getPrintedByComboBox(), - users, - model.getPrintingBy()); - initBeanFilterableComboBox(ui.getRepliedByComboBox(), - users, - model.getReplyBy()); + initCheckBoxComboBox(ui.getDocTypeComboBox(), + referentielService.getAllDemandType(), + model.getDemandType(), + EmailFilter.PROPERTY_DEMAND_TYPE, + true); + initCheckBoxComboBox(ui.getPriorityComboBox(), + referentielService.getAllPriority(), + model.getPriority(), + EmailFilter.PROPERTY_PRIORITY, + true); + initCheckBoxComboBox(ui.getEtatAttenteComboBox(), + referentielService.getAllEtatAttente(), + model.getEtatAttente(), + EmailFilter.PROPERTY_ETAT_ATTENTE, + true); + initCheckBoxComboBox(ui.getStatusComboBox(), + Arrays.asList(DemandStatus.values()), + model.getDemandStatus(), + EmailFilter.PROPERTY_DEMAND_STATUS, + false); + initCheckBoxComboBox(ui.getGammeComboBox(), + referentielService.getAllRange(), + model.getGamme(), + EmailFilter.PROPERTY_GAMME, + false); - initCheckBoxComboBox(ui.getDocTypeComboBox(), - referentielService.getAllDemandType(), - model.getDemandType(), - EmailFilter.PROPERTY_DEMAND_TYPE, - true); - initCheckBoxComboBox(ui.getPriorityComboBox(), - referentielService.getAllPriority(), - model.getPriority(), - EmailFilter.PROPERTY_PRIORITY, - true); - initCheckBoxComboBox(ui.getEtatAttenteComboBox(), - referentielService.getAllEtatAttente(), - model.getEtatAttente(), - EmailFilter.PROPERTY_ETAT_ATTENTE, - true); - initCheckBoxComboBox(ui.getStatusComboBox(), - Arrays.asList(DemandStatus.values()), - model.getDemandStatus(), - EmailFilter.PROPERTY_DEMAND_STATUS, - false); - initCheckBoxComboBox(ui.getGammeComboBox(), - referentielService.getAllRange(), - model.getGamme(), - EmailFilter.PROPERTY_GAMME, - false); + final JXTable dataTable = getUI().getDataTable(); + dataTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - final JXTable dataTable = getUI().getDataTable(); - dataTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + initDemandeTable(dataTable, true); - initDemandeTable(dataTable, true); + model.addPropertyChangeListener(SearchUIModel.PROPERTY_RESULTS, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + List<DemandeUIModel> emails = (List<DemandeUIModel>) evt.getNewValue(); + AbstractApplicationTableModel<DemandeUIModel> dataTableModel = (AbstractApplicationTableModel<DemandeUIModel>) dataTable.getModel(); + dataTableModel.setRows(emails); + showInformationMessage(t("faxtomail.search.resultNb", emails.size())); - model.addPropertyChangeListener(SearchUIModel.PROPERTY_RESULTS, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - List<DemandeUIModel> emails = (List<DemandeUIModel>) evt.getNewValue(); - AbstractApplicationTableModel<DemandeUIModel> dataTableModel = (AbstractApplicationTableModel<DemandeUIModel>) dataTable.getModel(); - dataTableModel.setRows(emails); - showInformationMessage(t("faxtomail.search.resultNb", emails.size())); - - DemandeUIModel currentEmail = getContext().getCurrentEmail(); - if (currentEmail != null) { - int row = dataTableModel.getRowIndex(currentEmail); - if (row > 0) { - dataTable.setRowSelectionInterval(row, row); - } + DemandeUIModel currentEmail = getContext().getCurrentEmail(); + if (currentEmail != null) { + int row = dataTableModel.getRowIndex(currentEmail); + if (row > 0) { + dataTable.setRowSelectionInterval(row, row); } } - }); + } + }); - if (getContext().getSearch() != null) { - try { - SearchToGroupAction searchAction = getContext().getActionFactory().createLogicAction(SearchToGroupUIHandler.this, SearchToGroupAction.class); - searchAction.doAction(); + if (getContext().getSearch() != null) { + try { + SearchToGroupAction searchAction = getContext().getActionFactory().createLogicAction(SearchToGroupUIHandler.this, SearchToGroupAction.class); + searchAction.doAction(); - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("error while searching", e); - } - getContext().getErrorHelper().showErrorDialog(t("faxtomail.search.action.error")); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("error while searching", e); } + getContext().getErrorHelper().showErrorDialog(t("faxtomail.search.action.error")); } + } - dataTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { - @Override - public void valueChanged(ListSelectionEvent e) { - if (!e.getValueIsAdjusting()) { - ListSelectionModel selectionModel = (ListSelectionModel) e.getSource(); - SearchUIModel model = getModel(); - int selectedIndex = selectionModel.getLeadSelectionIndex(); - AbstractApplicationTableModel<DemandeUIModel> dataTableModel = (AbstractApplicationTableModel<DemandeUIModel>) dataTable.getModel(); - DemandeUIModel selectedModel = selectedIndex < 0 ? null : dataTableModel.getEntry(selectedIndex); - model.setGroupEnabled(!selectionModel.isSelectionEmpty() && isDemandSelectable(selectedModel)); - } - } - }); - - HighlightPredicate rowAlreadyInGroupPredicate = new HighlightPredicate() { - @Override - public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { - int viewRow = adapter.row; - int modelRow = adapter.convertRowIndexToModel(viewRow); + dataTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + @Override + public void valueChanged(ListSelectionEvent e) { + if (!e.getValueIsAdjusting()) { + ListSelectionModel selectionModel = (ListSelectionModel) e.getSource(); + SearchUIModel model = getModel(); + int selectedIndex = selectionModel.getLeadSelectionIndex(); AbstractApplicationTableModel<DemandeUIModel> dataTableModel = (AbstractApplicationTableModel<DemandeUIModel>) dataTable.getModel(); - DemandeUIModel row = dataTableModel.getEntry(modelRow); - return !isDemandSelectable(row); + DemandeUIModel selectedModel = selectedIndex < 0 ? null : dataTableModel.getEntry(selectedIndex); + model.setGroupEnabled(!selectionModel.isSelectionEmpty() && isDemandSelectable(selectedModel)); } - }; - dataTable.addHighlighter(new ColorHighlighter(rowAlreadyInGroupPredicate, null, Color.GRAY, Color.GRAY, Color.WHITE)); + } + }); - // int combo box for result per page - ui.getResultPerPageCombo().setModel(new DefaultComboBoxModel<Integer>(new Integer[] {10, 20, 30, 40, 50})); - int resultPerPage = getConfig().getResultPerPage(); - ui.getModel().setResultPerPage(resultPerPage); - ui.getResultPerPageCombo().setSelectedItem(resultPerPage); - ui.getResultPerPageCombo().addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - updateResultPerPage(e); - } - }); + HighlightPredicate rowAlreadyInGroupPredicate = new HighlightPredicate() { + @Override + public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { + int viewRow = adapter.row; + int modelRow = adapter.convertRowIndexToModel(viewRow); + AbstractApplicationTableModel<DemandeUIModel> dataTableModel = (AbstractApplicationTableModel<DemandeUIModel>) dataTable.getModel(); + DemandeUIModel row = dataTableModel.getEntry(modelRow); + return !isDemandSelectable(row); } }; - command.execute(); + dataTable.addHighlighter(new ColorHighlighter(rowAlreadyInGroupPredicate, null, Color.GRAY, Color.GRAY, Color.WHITE)); + + // int combo box for result per page + ui.getResultPerPageCombo().setModel(new DefaultComboBoxModel<Integer>(new Integer[] {10, 20, 30, 40, 50})); + int resultPerPage = getConfig().getResultPerPage(); + ui.getModel().setResultPerPage(resultPerPage); + ui.getResultPerPageCombo().setSelectedItem(resultPerPage); + ui.getResultPerPageCombo().addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + updateResultPerPage(e); + } + }); } public void searchDemandes() { @@ -263,7 +256,6 @@ public void updateResultPerPage(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { - getContext().createNewTransaction(); int resultPerPage = (Integer)event.getItem(); getConfig().setResultPerPage(resultPerPage); getConfig().save(); @@ -288,7 +280,9 @@ @Override protected List<MailField> getColumns() { - List<MailField> tableColumns = getContext().getFaxToMailConfiguration().getSearchDisplayColumns(); + if (tableColumns == null) { + tableColumns = getContext().newServiceContext().getConfigurationService().getSearchDisplayColumns(); + } return tableColumns; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -67,6 +67,8 @@ /** Logger. */ private static final Log log = LogFactory.getLog(SearchUIHandler.class); + protected List<MailField> tableColumns; + @Override public void beforeInit(SearchUI ui) { super.beforeInit(ui); @@ -98,10 +100,10 @@ initUI(ui); - final ReferentielService referentielService = getContext().getReferentielService(); + final ReferentielService referentielService = getContext().newServiceContext().getReferentielService(); // this loading take 1,5 seconds - List<FaxToMailUser> users = getContext().getUserService().getAllActiveUsers(); + List<FaxToMailUser> users = getContext().newServiceContext().getUserService().getAllActiveUsers(); SearchUIModel model = getModel(); initBeanFilterableComboBox(ui.getTakenByComboBox(), users, @@ -198,7 +200,6 @@ } public void searchDemandes() { - getContext().createNewTransaction(); getModel().resetPaginationParameter(); runSearchAction(); } @@ -215,7 +216,6 @@ public void updateResultPerPage(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { - getContext().createNewTransaction(); int resultPerPage = (Integer)event.getItem(); getConfig().setResultPerPage(resultPerPage); getConfig().save(); @@ -240,7 +240,9 @@ @Override protected List<MailField> getColumns() { - List<MailField> tableColumns = getContext().getFaxToMailConfiguration().getSearchDisplayColumns(); + if (tableColumns == null) { + tableColumns = getContext().newServiceContext().getConfigurationService().getSearchDisplayColumns(); + } return tableColumns; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -26,6 +26,7 @@ import com.franciaflex.faxtomail.persistence.entities.EtatAttente; import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; import com.franciaflex.faxtomail.ui.swing.util.Cancelable; @@ -60,14 +61,15 @@ EtatAttente etatAttente = model.getEtatAttente(); final Collection<MailFolder> foldersWithEtatAttente; + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); if (etatAttente != null) { - foldersWithEtatAttente = getContext().getMailFolderService().getFoldersWithEtatAttente(etatAttente); + foldersWithEtatAttente = serviceContext.getMailFolderService().getFoldersWithEtatAttente(etatAttente); } else { foldersWithEtatAttente = new HashSet<MailFolder>(); } // init tree - Collection<MailFolder> folders = getContext().getMailFolderService(). + Collection<MailFolder> folders = serviceContext.getMailFolderService(). getRootMailFoldersWithMoveRights(getContext().getCurrentUser()); JTree navigationTree = ui.getNavigationTree(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-05 13:13:51 UTC (rev 471) @@ -34,6 +34,7 @@ import com.franciaflex.faxtomail.persistence.entities.Priority; import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.persistence.entities.Reply; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.actions.ShowDemandeAction; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; @@ -171,10 +172,11 @@ for (MailField columnName : columns) { if (MailField.PRIORITY.equals(columnName)) { + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); addComboDataColumnToModel(columnModel, DemandeTableModel.COLUMN_IDENTIFIERS.get(columnName), getDecorator(Priority.class, null), - getContext().getReferentielService().getAllPriority()).setSortable(sortable); + serviceContext.getReferentielService().getAllPriority()).setSortable(sortable); } else if (MailField.ATTACHMENT.equals(columnName)) { addColumnToModel(columnModel, @@ -267,8 +269,8 @@ FaxToMailUIContext context = getContext(); // reset transaction - context.createNewTransaction(); - Email email = context.getEmailService().addToHistory(selectedEmail.getTopiaId(), + FaxToMailServiceContext serviceContext = context.newServiceContext(); + Email email = serviceContext.getEmailService().addToHistory(selectedEmail.getTopiaId(), HistoryType.OPENING, context.getCurrentUser(), new Date()); Deleted: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Command.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Command.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Command.java 2014-08-05 13:13:51 UTC (rev 471) @@ -1,29 +0,0 @@ -package com.franciaflex.faxtomail.ui.swing.util; - -import com.franciaflex.faxtomail.services.FaxToMailServiceContext; -import org.apache.commons.io.IOUtils; - -/** - * @author Kevin Morin (Code Lutin) - * @since x.x - */ -public abstract class Command { - - protected FaxToMailServiceContext serviceContext; - - protected Command(FaxToMailServiceContext serviceContext) { - this.serviceContext = serviceContext; - } - - protected abstract void doAction(); - - public void execute() { - try { - doAction(); - - } finally { - IOUtils.closeQuietly(serviceContext); - } - } - -} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-08-05 13:13:51 UTC (rev 471) @@ -64,6 +64,7 @@ import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import jaxx.runtime.JAXXObject; import jaxx.runtime.JAXXUtil; @@ -355,7 +356,8 @@ log.debug("Force attachment loading " + attachment.getOriginalFileName()); } if (attachment.isPersisted()) { - EmailService service = context.getEmailService(); + FaxToMailServiceContext serviceContext = context.newServiceContext(); + EmailService service = serviceContext.getEmailService(); if (attachment.getOriginalFile() == null) { AttachmentFile file = service.getAttachmentFile(attachment.getTopiaId(), true); attachment.setOriginalFile(file); @@ -491,7 +493,8 @@ // get configuration extension command ExtensionCommand extCommand = null; if (StringUtils.isNotBlank(extension)) { - ConfigurationService service = context.getConfigurationService(); + FaxToMailServiceContext serviceContext = context.newServiceContext(); + ConfigurationService service = serviceContext.getConfigurationService(); extCommand = service.getExtensionCommand(extension); } Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java 2014-08-05 13:13:51 UTC (rev 471) @@ -72,14 +72,12 @@ public FaxToMailServiceContext newServiceContext(FaxToMailTopiaPersistenceContext persistenceContext) { FaxToMailServiceContext newServiceContext = - new FaxToMailServiceContext(); + new FaxToMailServiceContext(topiaApplicationContext); FaxToMailConfiguration applicationConfig = getApplicationConfig(); newServiceContext.setApplicationConfig(applicationConfig); - newServiceContext.setPersistenceContext(persistenceContext); - return newServiceContext; } @@ -154,7 +152,7 @@ FaxToMailServiceContext serviceContext = newServiceContext(persistenceContext); InitFaxToMailService initExtranetService = - serviceContext.newService(InitFaxToMailServiceImpl.class); + serviceContext.newService(InitFaxToMailService.class); initExtranetService.init(); Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailInterceptor.java 2014-08-05 13:13:51 UTC (rev 471) @@ -144,7 +144,7 @@ protected void populateUser(FaxToMailSession faxToMailSession, FaxToMailServiceContext serviceContext) { if (StringUtils.isNotBlank(faxToMailSession.getAuthenticatedUserId())) { - LdapService ldapService = serviceContext.newService(LdapServiceImpl.class); + LdapService ldapService = serviceContext.newService(LdapService.class); // return can be null FaxToMailUser user = ldapService.getUserBean(faxToMailSession.getAuthenticatedUserId()); faxToMailSession.setAuthenticatedFaxToMailUser(user); Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/LdapAction.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/LdapAction.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/LdapAction.java 2014-08-05 13:13:51 UTC (rev 471) @@ -103,7 +103,7 @@ try { persistenceContext = applicationContext.newPersistenceContext(); FaxToMailServiceContext serviceContext = applicationContext.newServiceContext(persistenceContext); - LdapService ldapService2 = serviceContext.newService(LdapServiceImpl.class); + LdapService ldapService2 = serviceContext.newService(LdapService.class); ldapService2.updateLdapData(); } finally { persistenceContext.close(); Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/ClientUpdateJob.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/ClientUpdateJob.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/ClientUpdateJob.java 2014-08-05 13:13:51 UTC (rev 471) @@ -60,7 +60,7 @@ log.debug("Running ClientUpdateJob at " + serviceContext.getNow()); } - ClientService clientService = serviceContext.newService(ClientServiceImpl.class); + ClientService clientService = serviceContext.newService(ClientService.class); clientService.updateNewClients(); if (log.isDebugEnabled()) { Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/EDIManagementJob.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/EDIManagementJob.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/EDIManagementJob.java 2014-08-05 13:13:51 UTC (rev 471) @@ -58,7 +58,7 @@ log.debug("Running EDIManagementJob at " + serviceContext.getNow()); } - EmailService emailService = serviceContext.newService(EmailServiceImpl.class); + EmailService emailService = serviceContext.newService(EmailService.class); emailService.transmitPendingDemandsToEdi(); if (log.isDebugEnabled()) { Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-08-05 12:56:55 UTC (rev 470) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-08-05 13:13:51 UTC (rev 471) @@ -144,11 +144,11 @@ log.debug("Running MailFilterJob at " + serviceContext.getNow()); } - emailService = serviceContext.newService(EmailServiceImpl.class); - mailFolderService = serviceContext.newService(MailFolderServiceImpl.class); - configurationService = serviceContext.newService(ConfigurationServiceImpl.class); - clientService = serviceContext.newService(ClientServiceImpl.class); - decoratorService = serviceContext.newService(DecoratorServiceImpl.class); + emailService = serviceContext.newService(EmailService.class); + mailFolderService = serviceContext.newService(MailFolderService.class); + configurationService = serviceContext.newService(ConfigurationService.class); + clientService = serviceContext.newService(ClientService.class); + decoratorService = serviceContext.newService(DecoratorService.class); Collection<EmailAccount> emailAccounts = configurationService.getEmailAccounts();