r139 - in trunk: faxtomail-persistence/src/main/resources faxtomail-persistence/src/main/xmi faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-service/src/test/resources/csv faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande faxtomail-ui-swing/src/main/java/com/franciaflex/faxtom
Author: kmorin Date: 2014-06-05 18:43:31 +0200 (Thu, 05 Jun 2014) New Revision: 139 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/139 Log: - am?\195?\169lioration de la vitesse de chargement des ?\195?\169l?\195?\169ments des dossiers + affichage du loading - sauvegarde de la taille des colonnes - taille par d?\195?\169faut des split panel - suppression du dossier i18n dans le r?\195?\169pertoire utlisateur Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java Modified: trunk/faxtomail-persistence/src/main/resources/faxToMail.properties trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-service/src/test/resources/csv/email_accounts.csv trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailActionFactory.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/content/demande/DemandeListUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.jaxx 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/DemandeListUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 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/DemandeUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties Modified: trunk/faxtomail-persistence/src/main/resources/faxToMail.properties =================================================================== --- trunk/faxtomail-persistence/src/main/resources/faxToMail.properties 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-persistence/src/main/resources/faxToMail.properties 2014-06-05 16:43:31 UTC (rev 139) @@ -35,11 +35,11 @@ #hibernate.connection.password=FX2013! hibernate.hbm2ddl.auto=update -#hibernate.show_sql=false +#hibernate.show_sql=true #hibernate.format_sql=true #hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy hibernate.c3p0.min_size=5 hibernate.c3p0.max_size=20 hibernate.c3p0.timeout=1800 -hibernate.c3p0.max_statements=50 +hibernate.c3p0.max_statements=50 \ No newline at end of file Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties =================================================================== --- trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-06-05 16:43:31 UTC (rev 139) @@ -72,6 +72,17 @@ # Email com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.notNull=true +com.franciaflex.faxtomail.persistence.entities.Email.attribute.rangeRow.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.attachment.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.history.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.client.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandType.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandStatus.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.priority.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.etatAttente.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.emailGroup.tagvalue.lazy=false +com.franciaflex.faxtomail.persistence.entities.Email.attribute.replies.tagvalue.lazy=false # History com.franciaflex.faxtomail.persistence.entities.History.attribute.type.tagvalue.notNull=true Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-05 16:43:31 UTC (rev 139) @@ -202,22 +202,29 @@ Set<String> fieldSet = Sets.newHashSet(modifiedFields); - History transmissionToEdi = CollectionUtils.find(email.getHistory(), new Predicate<History>() { - @Override - public boolean evaluate(History object) { - return object.getType() == HistoryType.TRANSMISSION_TO_EDI; + if (StringUtils.isNotBlank(email.getMailFolder().getEdiFolder())) { + History transmissionToEdi = CollectionUtils.find(email.getHistory(), new Predicate<History>() { + @Override + public boolean evaluate(History object) { + return object.getType() == HistoryType.TRANSMISSION_TO_EDI; + } + }); + + // we transmit to EDI if: + // - it has never been transmitted before + // - all the required fields are filled + if (transmissionToEdi == null + && email.getClient() != null + && email.getDemandType() != null + && StringUtils.isNotBlank(email.getProjectReference()) + && (!email.getDemandType().isRangeNeeded() || CollectionUtils.isNotEmpty(email.getRangeRow()))) { + + email.setDemandStatus(DemandStatus.TRANSMITTED_TO_EDI); + transmissionToEdi = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION_TO_EDI, + History.PROPERTY_MODIFICATION_DATE, new Date()); + email.addHistory(transmissionToEdi); + fieldSet.add(Email.PROPERTY_DEMAND_STATUS); } - }); - if (transmissionToEdi == null - && email.getClient() != null - && email.getDemandType() != null - && StringUtils.isNotBlank(email.getProjectReference())) { - - email.setDemandStatus(DemandStatus.TRANSMITTED_TO_EDI); - transmissionToEdi = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION_TO_EDI, - History.PROPERTY_MODIFICATION_DATE, new Date()); - email.addHistory(transmissionToEdi); - fieldSet.add(Email.PROPERTY_DEMAND_STATUS); } History history; Modified: trunk/faxtomail-service/src/test/resources/csv/email_accounts.csv =================================================================== --- trunk/faxtomail-service/src/test/resources/csv/email_accounts.csv 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-service/src/test/resources/csv/email_accounts.csv 2014-06-05 16:43:31 UTC (rev 139) @@ -1,2 +1,2 @@ -protocol;host;user;password -pop3;test.franciaflex.fr;testuser;password +protocol;host;port;user;password +pop3;test.franciaflex.fr;110;testuser;password Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailActionFactory.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailActionFactory.java 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailActionFactory.java 2014-06-05 16:43:31 UTC (rev 139) @@ -43,8 +43,7 @@ public <A extends AbstractApplicationAction> A createLogicAction(AbstractApplicationUIHandler handler, Class<A> actionName) { FaxToMailUIContext context = (FaxToMailUIContext) handler.getContext(); - if (AbstractMainUIFaxToMailAction.class.isAssignableFrom(actionName) && - context.getMainUI() != null) { + if (AbstractMainUIFaxToMailAction.class.isAssignableFrom(actionName) && context.getMainUI() != null) { handler = context.getMainUI().getHandler(); } @@ -52,6 +51,7 @@ // create action A result = ConstructorUtils.invokeConstructor(actionName, (AbstractFaxToMailUIHandler) handler); return result; + } catch (Exception e) { throw new ApplicationTechnicalException(t("application.action.create.error", actionName), e); } 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-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-06-05 16:43:31 UTC (rev 139) @@ -359,58 +359,16 @@ })); //--------------------------------------------------------------------// - // init db configuration - //--------------------------------------------------------------------// - -// config.initConfig(getResourceLoader()); - -// // clean db cache (avoid a lots of headache :( -// File cacheDirectory = config.getServiceConfig().getPersistenceConfig().getCacheDirectory(); -// if (cacheDirectory.exists()) { -// // clean cache directory (fix soem headaches...) -// TuttiIOUtil.cleanDirectory( -// cacheDirectory, -// _("tutti.db.deleteCache.error", cacheDirectory)); -// } - - //--------------------------------------------------------------------// // init i18n //--------------------------------------------------------------------// - File i18nDirectory = config.getI18nDirectory(); - if (!config.isFullLaunchMode()) { - i18nDirectory = new File(config.getDataDirectory(), "i18n"); - - if (i18nDirectory.exists()) { - // clean i18n cache - ApplicationIOUtil.cleanDirectory( - i18nDirectory, - t("faxtomail.i18n.deleteCache.error", i18nDirectory)); - } - } - - ApplicationIOUtil.forceMkdir(i18nDirectory, - t("faxtomail.i18n.mkDir.error", i18nDirectory)); - - if (log.isDebugEnabled()) { - log.debug("I18N directory: " + i18nDirectory); - } - Locale i18nLocale = config.getI18nLocale(); if (log.isInfoEnabled()) { - log.info(String.format("Starts i18n with locale [%s] at [%s]", - i18nLocale, i18nDirectory)); + log.info(String.format("Starts i18n with locale [%s]", i18nLocale)); } - try { - I18n.init(new UserI18nInitializer( - i18nDirectory, new DefaultI18nInitializer("faxtomail-i18n")), - i18nLocale); - } catch (RuntimeException ex) { - // strange ide behaviour case (eclipse) - I18n.init(new ClassPathI18nInitializer(), i18nLocale); - } + I18n.init(new ClassPathI18nInitializer(), i18nLocale); // //--------------------------------------------------------------------// // // init help Added: 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 (rev 0) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-06-05 16:43:31 UTC (rev 139) @@ -0,0 +1,68 @@ +package com.franciaflex.faxtomail.ui.swing.actions; + +import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXTable; + +import java.util.ArrayList; +import java.util.List; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public class LoadFolderEmailsAction extends AbstractFaxToMailAction<DemandeListUIModel, DemandeListUI, DemandeListUIHandler> { + + private final static Log log = LogFactory.getLog(LoadFolderEmailsAction.class); + + public LoadFolderEmailsAction(DemandeListUIHandler handler) { + super(handler, false); + } + + @Override + public boolean prepareAction() throws Exception { + + DemandeListUIModel model = getModel(); + MailFolder folder = model.getSelectedFolder(); + JXTable dataTable = getUI().getDataTable(); + + setActionDescription(t("faxtomail.action.loadFolderEmails.tip", folder.getName())); + + // change name to save the state of the column width for every folder + // (as every folder can have a different header) + getContext().getSwingSession().updateState(); + String columns = handler.populateColumnModel(dataTable, false); + dataTable.setName("dataTable" + columns); + getContext().getSwingSession().add(dataTable, true); + + return true; + } + + @Override + public void doAction() throws Exception { + DemandeListUIHandler handler = getHandler(); + DemandeListUIModel model = getModel(); + MailFolder folder = model.getSelectedFolder(); + + List<Email> emails = getContext().getEmailService().getEmailForFolder(folder); + log.info(emails.size() + " emails in folder " + folder.getName()); + + List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>(); + for (Email email : emails) { + DemandeUIModel demand = new DemandeUIModel(); + demand.fromEntity(email, false); + demand.setValid(handler.isDemandeValid(demand)); + demands.add(demand); + } + + model.setEmails(demands); + } +} Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css 2014-06-05 16:43:31 UTC (rev 139) @@ -23,6 +23,10 @@ text: " | "; } +#mainSplitPane { + resizeWeight: 0.2; +} + #navigationTree { font-size: "11"; rootVisible: false; @@ -99,4 +103,5 @@ #archiveMenu { text: "faxtomail.demandeList.action.archive"; toolTipText: "faxtomail.demandeList.action.archive.tip"; + enabled: { model.isArchiveEnabled() }; } \ No newline at end of file Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.jaxx =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.jaxx 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.jaxx 2014-06-05 16:43:31 UTC (rev 139) @@ -66,7 +66,7 @@ onActionPerformed='handler.archive()'/> </JPopupMenu> - <JSplitPane constraints='BorderLayout.CENTER'> + <JSplitPane constraints='BorderLayout.CENTER' id="mainSplitPane"> <JScrollPane> <JTree id="navigationTree" onMouseClicked='handler.autoSelectNodeInTree(event, treePopup)'/> 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-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-06-05 16:43:31 UTC (rev 139) @@ -36,6 +36,7 @@ import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.ui.swing.actions.ArchiveFromListAction; import com.franciaflex.faxtomail.ui.swing.actions.ComputeQuantitiesByRangeAction; +import com.franciaflex.faxtomail.ui.swing.actions.LoadFolderEmailsAction; import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeFromListAction; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; @@ -114,21 +115,10 @@ model.addPropertyChangeListener(DemandeListUIModel.PROPERTY_SELECTED_FOLDER, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - DemandeListUIModel model = (DemandeListUIModel) evt.getSource(); - MailFolder folder = (MailFolder) evt.getNewValue(); - - populateColumnModel(getUI().getDataTable(), false); - - List<Email> emails = getContext().getEmailService().getEmailForFolder(folder); - log.info(emails.size() + " emails in folder " + folder.getName()); - List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>(); - for (Email email : emails) { - DemandeUIModel demand = new DemandeUIModel(); - demand.fromEntity(email); - demand.setValid(isDemandeValid(demand)); - demands.add(demand); - } - model.setEmails(demands); + LoadFolderEmailsAction loadFolderEmailsAction = + getContext().getActionFactory().createLogicAction(DemandeListUIHandler.this, + LoadFolderEmailsAction.class); + getContext().getActionEngine().runAction(loadFolderEmailsAction); } }); @@ -165,7 +155,6 @@ @Override public void modelChanged(TableModel model) { // do nothing - log.info("modelChanged"); } }; @@ -253,6 +242,7 @@ public void valueChanged(TreeSelectionEvent e) { FolderTreeNode folderNode = (FolderTreeNode) e.getPath().getLastPathComponent(); MailFolder folder = folderNode.getMailFolder(); + getModel().setSelectedFolder(folder); getContext().setCurrentMailFolder(folder); @@ -362,8 +352,10 @@ int selectedRowCount = getUI().getDataTable().getSelectedRowCount(); DemandeListUIModel model = getModel(); - model.setAddAttachmentEnabled(selectedRowCount == 1); - model.setReplyEnabled(selectedRowCount == 1); + //TODO kmorin 20140605 prendre en compte la conf en fonction des états d'attente + model.setReplyEnabled(selectedRowCount == 1 && model.getCurrentEmails().get(0).isEditable()); + model.setArchiveEnabled(selectedRowCount > 1 || + selectedRowCount > 0 && model.getCurrentEmails().get(0).isEditable()); } public void autoSelectNodeInTree(MouseEvent e, JPopupMenu popup) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java 2014-06-05 16:43:31 UTC (rev 139) @@ -45,7 +45,7 @@ public static final String PROPERTY_PF_NB = "pfNb"; public static final String PROPERTY_SAV_NB = "savNb"; public static final String PROPERTY_REPLY_ENABLED = "replyEnabled"; - public static final String PROPERTY_ADD_ATTACHMENT_ENABLED = "addAttachmentEnabled"; + public static final String PROPERTY_ARCHIVE_ENABLED = "archiveEnabled"; protected List<MailFolder> folders; @@ -59,7 +59,7 @@ protected boolean replyEnabled; - protected boolean addAttachmentEnabled; + protected boolean archiveEnabled; protected int quotationNb; @@ -156,14 +156,14 @@ firePropertyChange(PROPERTY_REPLY_ENABLED, oldValue, replyEnabled); } - public boolean isAddAttachmentEnabled() { - return addAttachmentEnabled; + public boolean isArchiveEnabled() { + return archiveEnabled; } - public void setAddAttachmentEnabled(boolean addAttachmentEnabled) { - Object oldValue = isAddAttachmentEnabled(); - this.addAttachmentEnabled = addAttachmentEnabled; - firePropertyChange(PROPERTY_ADD_ATTACHMENT_ENABLED, oldValue, addAttachmentEnabled); + public void setArchiveEnabled(boolean qrchiveEnabled) { + Object oldValue = isArchiveEnabled(); + this.archiveEnabled = archiveEnabled; + firePropertyChange(PROPERTY_ARCHIVE_ENABLED, oldValue, archiveEnabled); } public int getQuotationNb() { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-06-05 16:43:31 UTC (rev 139) @@ -275,6 +275,7 @@ #leftVerticalSplitPanel { dividerSize : { model.isRangePanelVisible() ? 10 : 0 }; + resizeWeight: 0.8; } #rangePanel { @@ -329,4 +330,8 @@ #toolbarContainer { rightDecoration: { topToolBar }; +} + +#rightVerticalSplitPanel { + resizeWeight: 0.8; } \ No newline at end of file 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-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-06-05 16:43:31 UTC (rev 139) @@ -365,6 +365,21 @@ } ); + final JSplitPane leftVerticalSplitPanel = getUI().getLeftVerticalSplitPanel(); + model.addPropertyChangeListener(DemandeUIModel.PROPERTY_RANGE_PANEL_VISIBLE, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + leftVerticalSplitPanel.setName("leftVerticalSplitPanel" + evt.getNewValue()); + getContext().getSwingSession().add(leftVerticalSplitPanel, true); + if (Boolean.FALSE.equals(evt.getNewValue())) { + leftVerticalSplitPanel.setDividerLocation(leftVerticalSplitPanel.getHeight()); + } + } + }); + + leftVerticalSplitPanel.setName("leftVerticalSplitPanel" + model.isRangePanelVisible()); + getContext().getSwingSession().add(leftVerticalSplitPanel, true); + listModelIsModify(getModel()); } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-05 16:43:31 UTC (rev 139) @@ -186,15 +186,34 @@ } + @Override + public void fromEntity(Email entity) { + fromEntity(entity, true); + } + /** * Surcharge pour dupliquer correctement les pieces jointes. - * + * * FIXME echatellier 20140520 c'est pas terrible, mais c'est comme ca :p */ - @Override - public void fromEntity(Email entity) { + public void fromEntity(Email entity, boolean full) { //super.fromEntity(entity); - fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT); + String[] propertiesToIgnore; +// if (full) { + propertiesToIgnore = new String[] { + Email.PROPERTY_ATTACHMENT + }; + +// } else { +// propertiesToIgnore = new String[] { +// Email.PROPERTY_ATTACHMENT, +// Email.PROPERTY_EMAIL_GROUP, +// Email.PROPERTY_REPLIES, +// Email.PROPERTY_MAIL_FOLDER, +// Email.PROPERTY_HISTORY +// }; +// } + fromBeanBinder.copyExcluding(entity, this, propertiesToIgnore); // specific attachment copy Collection<Attachment> attachmentCopy = new ArrayList<Attachment>(); if (entity.getAttachment() != null) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-06-05 16:43:31 UTC (rev 139) @@ -109,6 +109,8 @@ JTabbedPane tabPanel = getTabPanel(); if (added) { DemandeUI demandeUI = new DemandeUI(getUI(), demand); + demandeUI.setName("demandPanel" + index); + getContext().getSwingSession().add(demandeUI, true); demand.addPropertyChangeListener(demandEnabledAndValidListener); tabPanel.add(demandeUI); setCustomTab(index, demand); 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-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-06-05 16:43:31 UTC (rev 139) @@ -152,7 +152,7 @@ protected abstract Collection<String> getColumns(); - protected void populateColumnModel(JXTable table, boolean sortable) { + public String populateColumnModel(JXTable table, boolean sortable) { Collection<String> columns = getColumns(); TableColumnModelExt columnModel = new DefaultTableColumnModelExt(); @@ -256,6 +256,8 @@ getEditableTableProperties()); table.setModel(tableModel); table.setColumnModel(columnModel); + + return StringUtils.join(columns, "-"); } protected MouseListener getDataTableMouseListener() { Modified: trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml 2014-06-05 16:43:31 UTC (rev 139) @@ -30,11 +30,11 @@ <validators> - <field name="object"> - <field-validator type="requiredstring" short-circuit="true"> - <message>faxtomail.validator.error.email.object.required</message> - </field-validator> - </field> + <!--<field name="object">--> + <!--<field-validator type="requiredstring" short-circuit="true">--> + <!--<message>faxtomail.validator.error.email.object.required</message>--> + <!--</field-validator>--> + <!--</field>--> <field name="clientCode"> <field-validator type="requiredstring" short-circuit="true"> Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-05 15:57:29 UTC (rev 138) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-05 16:43:31 UTC (rev 139) @@ -18,6 +18,7 @@ faxtomail.action.goto.previousScreen.tip=Retourner à l'écran précédent faxtomail.action.goto.search.tip=Aller à l'écran de recherche faxtomail.action.group.tip=Grouper l'élément +faxtomail.action.loadFolderEmails.tip=Chargement des demandes du dossier %s faxtomail.action.reloadFaxToMail=Recharger FaxToMail faxtomail.action.reply.tip=Envoyer la réponse faxtomail.action.save.tip=Enregistrer
participants (1)
-
kmorin@users.forge.codelutin.com