Author: kmorin Date: 2014-08-07 15:20:57 +0200 (Thu, 07 Aug 2014) New Revision: 491 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/491 Log: integration des fetchs Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.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/SaveDemandeAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/ButtonAttachment.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/DemandeUIModel.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-07 13:20:57 UTC (rev 491) @@ -492,12 +492,28 @@ result = dao.forMailFolderEquals(folder) .addNull(Email.PROPERTY_ARCHIVE_DATE) .addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED) + .addAllFetches(Email.PROPERTY_DEMAND_TYPE, + Email.PROPERTY_DEMAND_STATUS, + Email.PROPERTY_RANGE_ROW, + Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE, + Email.PROPERTY_HISTORY, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_TYPE, + Email.PROPERTY_HISTORY + "." + History.PROPERTY_FIELDS, + Email.PROPERTY_REPLIES, + Email.PROPERTY_ATTACHMENT, + Email.PROPERTY_TAKEN_BY, + Email.PROPERTY_CLIENT, + Email.PROPERTY_EMAIL_GROUP, + Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL, + Email.PROPERTY_ETAT_ATTENTE, + Email.PROPERTY_PRIORITY) .findPage(page); - //FIXME kmorin 20140805 fetch - for (Email email : result.getElements()) { - fetchEmailData(email); - } +// //FIXME kmorin 20140805 fetch +// for (Email email : result.getElements()) { +// fetchEmailData(email); +// } } else { List<Email> elements = Collections.emptyList(); result = PaginationResult.of(elements, 0, page); 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-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-07 13:20:57 UTC (rev 491) @@ -102,9 +102,13 @@ Collection<RangeRow> rangeRows = demand.getRangeRow(); if (rangeRows != null) { for (RangeRow rangeRow : rangeRows) { - RangeRowModel rangeRowModel = new RangeRowModel(); - rangeRowModel.fromEntity(rangeRow); - demand.getValidRangeRowModels().add(rangeRowModel); + if (rangeRow != null) { + RangeRowModel rangeRowModel = new RangeRowModel(); + rangeRowModel.fromEntity(rangeRow); + if (rangeRowModel.isValid()) { + demand.addValidRangeRow(rangeRowModel); + } + } } } 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-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java 2014-08-07 13:20:57 UTC (rev 491) @@ -74,6 +74,15 @@ } Collection<RangeRowModel> rows = model.getValidRangeRowModels(); + + boolean cont = true; + while (cont) { + try { + model.removeRangeRow(null); + } catch (IllegalArgumentException eee) { + cont = false; + } + } Collection<RangeRow> rangeRows = model.getRangeRow(); if (rangeRows == null) { rangeRows = new ArrayList<>(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIModel.java 2014-08-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIModel.java 2014-08-07 13:20:57 UTC (rev 491) @@ -45,7 +45,7 @@ //protected File file; protected boolean editable = true; - protected final Collection<Attachment> attachments = new ArrayList<Attachment>(); + protected final List<Attachment> attachments = new ArrayList<Attachment>(); protected List<AttachmentListener> openingListeners = new ArrayList<AttachmentListener>(); @@ -70,11 +70,11 @@ firePropertyChange(PROPERTY_EDITABLE, oldValue, editable); } - public Collection<Attachment> getAttachment() { + public List<Attachment> getAttachment() { return attachments; } - public void addAllAttachment(Collection<Attachment> attachments) { + public void addAllAttachment(List<Attachment> attachments) { Object oldValue = new ArrayList<Attachment>(getAttachment()); this.attachments.addAll(attachments); firePropertyChange(AttachmentModelAware.PROPERTY_ATTACHMENT, oldValue, this.attachments); @@ -92,7 +92,7 @@ firePropertyChange(AttachmentModelAware.PROPERTY_ATTACHMENT, oldValue, attachments); } - public void setAttachment(Collection<Attachment> attachments) { + public void setAttachment(List<Attachment> attachments) { Object oldValue = new ArrayList<Attachment>(getAttachment()); this.attachments.clear(); if (attachments != null) { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-07 13:20:57 UTC (rev 491) @@ -47,7 +47,7 @@ List<Attachment> getAttachment(); - void addAllAttachment(Collection<Attachment> attachments); + void addAllAttachment(List<Attachment> attachments); void addAttachment(Attachment attachment); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/ButtonAttachment.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/ButtonAttachment.java 2014-08-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/ButtonAttachment.java 2014-08-07 13:20:57 UTC (rev 491) @@ -27,6 +27,7 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupButton; +import org.apache.commons.collections.ListUtils; import org.apache.commons.collections4.CollectionUtils; import java.beans.PropertyChangeEvent; @@ -56,7 +57,7 @@ if (attachmentModelAware != null) { List<Attachment> oldValue = (List<Attachment>) evt.getOldValue(); - Collection<Attachment> toAdd = CollectionUtils.subtract(attachments, oldValue); + List<Attachment> toAdd = ListUtils.subtract(attachments, oldValue); attachmentModelAware.addAllAttachment(toAdd); Collection<Attachment> toRemove = CollectionUtils.subtract(oldValue, attachments); 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-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-07 13:20:57 UTC (rev 491) @@ -197,19 +197,19 @@ // init range model final RangeTableModel rangeTableModel = new RangeTableModel(columnModel); - List<RangeRowModel> rangeRowModels = new ArrayList<RangeRowModel>(); + List<RangeRowModel> rangeRowModels = model.getValidRangeRowModels(); - Collection<RangeRow> rangeRows = model.getRangeRow(); - if (rangeRows != null) { - for (RangeRow rangeRow : rangeRows) { - RangeRowModel rangeRowModel = new RangeRowModel(); - rangeRowModel.fromEntity(rangeRow); - rangeRowModels.add(rangeRowModel); - // on ajoute toutes les lignes de rangeRow, - // qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides - model.getValidRangeRowModels().add(rangeRowModel); - } - } +// Collection<RangeRow> rangeRows = model.getRangeRow(); +// if (rangeRows != null) { +// for (RangeRow rangeRow : rangeRows) { +// RangeRowModel rangeRowModel = new RangeRowModel(); +// rangeRowModel.fromEntity(rangeRow); +// rangeRowModels.add(rangeRowModel); +// // on ajoute toutes les lignes de rangeRow, +// // qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides +// model.getValidRangeRowModels().add(rangeRowModel); +// } +// } rangeTableModel.setRows(rangeRowModels); Map<String, Integer> quantities = FaxToMailUIUtil.computeQuantities(rangeRowModels); 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-08-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-07 13:20:57 UTC (rev 491) @@ -163,19 +163,21 @@ int savNb = 0; if (rangeRows != null) { for (RangeRow rangeRow : rangeRows) { - Integer quotationQuantity = rangeRow.getQuotationQuantity(); - if (quotationQuantity != null) { - quotationNb += quotationQuantity; - } + if (rangeRow != null) { + Integer quotationQuantity = rangeRow.getQuotationQuantity(); + if (quotationQuantity != null) { + quotationNb += quotationQuantity; + } - Integer productQuantity = rangeRow.getProductQuantity(); - if (productQuantity != null) { - pfNb += productQuantity; - } + Integer productQuantity = rangeRow.getProductQuantity(); + if (productQuantity != null) { + pfNb += productQuantity; + } - Integer savQuantity = rangeRow.getSavQuantity(); - if (savQuantity != null) { - savNb += savQuantity; + Integer savQuantity = rangeRow.getSavQuantity(); + if (savQuantity != null) { + savNb += savQuantity; + } } } } @@ -458,7 +460,7 @@ Collection<String> commandNumbers = Collections2.transform(rangeRow, new Function<RangeRow, String>() { @Override public String apply(RangeRow input) { - return input.getCommandNumber(); + return input != null ? input.getCommandNumber() : ""; } }); Collections2.filter(commandNumbers, new Predicate<String>() { @@ -598,7 +600,7 @@ } @Override - public void addAllAttachment(Collection<Attachment> attachment) { + public void addAllAttachment(List<Attachment> attachment) { Object oldValue = new ArrayList<Attachment>(getAttachment()); attachments.addAll(attachment); firePropertyChange(Email.PROPERTY_ATTACHMENT, oldValue, getAttachment()); @@ -835,7 +837,9 @@ public void addValidRangeRow(RangeRowModel row) { Object oldValue = new ArrayList<RangeRowModel>(validRangeRowModels); - validRangeRowModels.add(row); + if (!validRangeRowModels.contains(row)) { + validRangeRowModels.add(row); + } firePropertyChanged(PROPERTY_VALID_RANGE_ROW_MODELS, oldValue, validRangeRowModels); } 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-07 10:49:15 UTC (rev 490) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-07 13:20:57 UTC (rev 491) @@ -201,7 +201,7 @@ tableCellRenderer = new QuantityTableCellRenderer(new Function<RangeRow, Integer>() { @Override public Integer apply(RangeRow input) { - return input.getProductQuantity(); + return input != null ? input.getProductQuantity() : null; } }); break; @@ -209,7 +209,7 @@ tableCellRenderer = new QuantityTableCellRenderer(new Function<RangeRow, Integer>() { @Override public Integer apply(RangeRow input) { - return input.getSavQuantity(); + return input != null ? input.getSavQuantity() : null; } }); break;