Faxtomail-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 1934 discussions
r744 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions
by kmorin@users.forge.codelutin.com 08 Jan '15
by kmorin@users.forge.codelutin.com 08 Jan '15
08 Jan '15
Author: kmorin
Date: 2015-01-08 14:38:42 +0000 (Thu, 08 Jan 2015)
New Revision: 744
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/744
Log:
fix NPE on manual creation
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java
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 2015-01-08 10:41:35 UTC (rev 743)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java 2015-01-08 14:38:42 UTC (rev 744)
@@ -24,23 +24,12 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
-import com.franciaflex.faxtomail.persistence.entities.MailFolder;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.topia.persistence.TopiaEntities;
-import org.nuiton.util.beans.BeanMonitor;
-
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.persistence.entities.EmailImpl;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
+import com.franciaflex.faxtomail.persistence.entities.MailFolder;
import com.franciaflex.faxtomail.persistence.entities.RangeRow;
import com.franciaflex.faxtomail.persistence.entities.Reply;
import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
@@ -51,7 +40,16 @@
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel;
import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+import org.nuiton.topia.persistence.TopiaEntities;
+import org.nuiton.util.beans.BeanMonitor;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+
+import static org.nuiton.i18n.I18n.t;
+
/**
* @author Kevin Morin (Code Lutin)
*
@@ -123,6 +121,10 @@
}
Email email = model.toEntity(persistedEmail);
+ if (email.getOriginalEmail() == null) {
+ email.setOriginalEmail(model.getOriginalEmail());
+ }
+
Collection<Attachment> attachments = model.getAttachment();
Collection<Reply> replies = model.getReplies();
String clientCode = model.getClientCode();
1
0
r743 - trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities
by kmorin@users.forge.codelutin.com 08 Jan '15
by kmorin@users.forge.codelutin.com 08 Jan '15
08 Jan '15
Author: kmorin
Date: 2015-01-08 10:41:35 +0000 (Thu, 08 Jan 2015)
New Revision: 743
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/743
Log:
fix search on body field
Modified:
trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java
Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java
===================================================================
--- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2015-01-08 06:29:38 UTC (rev 742)
+++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2015-01-08 10:41:35 UTC (rev 743)
@@ -24,16 +24,13 @@
* #L%
*/
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.base.Objects;
+import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -45,13 +42,15 @@
import org.nuiton.util.pagination.PaginationParameter;
import org.nuiton.util.pagination.PaginationResult;
-import com.google.common.base.Function;
-import com.google.common.base.Objects;
-import com.google.common.base.Splitter;
-import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> {
@@ -350,8 +349,8 @@
}
if (StringUtils.isNotBlank(searchFilter.getBody())) {
- query.append(" AND lower(E." + Email.PROPERTY_ORIGINAL_EMAIL + "." + OriginalEmail.PROPERTY_CONTENT + ") LIKE lower(:" + SearchFilter.PROPERTY_CLIENT_CODE + ")");
- args.put(SearchFilter.PROPERTY_CLIENT_CODE, "%" + searchFilter.getClientCode() + "%");
+ query.append(" AND lower(E." + Email.PROPERTY_ORIGINAL_EMAIL + "." + OriginalEmail.PROPERTY_CONTENT + ") LIKE lower(:" + SearchFilter.PROPERTY_BODY + ")");
+ args.put(SearchFilter.PROPERTY_BODY, "%" + searchFilter.getBody() + "%");
}
// email gamme
1
0
r742 - in trunk: faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action
by kmorin@users.forge.codelutin.com 08 Jan '15
by kmorin@users.forge.codelutin.com 08 Jan '15
08 Jan '15
Author: kmorin
Date: 2015-01-08 06:29:38 +0000 (Thu, 08 Jan 2015)
New Revision: 742
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/742
Log:
refs #6391 Probl?\195?\168me d'encoding dans la visualisation des r?\195?\169ponses
correction pbm impression
Modified:
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/web/action/DemandDetailAction.java
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 2015-01-07 15:50:07 UTC (rev 741)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2015-01-08 06:29:38 UTC (rev 742)
@@ -22,13 +22,68 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.persistence.entities.DemandType;
+import com.franciaflex.faxtomail.persistence.entities.ExtensionCommand;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
+import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.persistence.entities.Reply;
+import com.franciaflex.faxtomail.persistence.entities.ReplyContent;
+import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
+import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
+import com.franciaflex.faxtomail.services.service.ConfigurationService;
+import com.franciaflex.faxtomail.services.service.EmailService;
+import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel;
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Ordering;
+import com.itextpdf.text.Document;
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.PageSize;
+import com.itextpdf.text.Paragraph;
+import com.itextpdf.text.pdf.PdfWriter;
+import com.sun.media.jai.codec.ByteArraySeekableStream;
+import com.sun.media.jai.codec.ImageCodec;
+import com.sun.media.jai.codec.ImageDecoder;
+import com.sun.media.jai.codec.SeekableStream;
+import jaxx.runtime.JAXXObject;
+import jaxx.runtime.JAXXUtil;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.io.Charsets;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.SystemUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+import org.nuiton.jaxx.application.ApplicationTechnicalException;
+import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil;
+import org.nuiton.util.FileUtil;
+import org.nuiton.util.StringUtil;
+import javax.media.jai.PlanarImage;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.swing.*;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeCellRenderer;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeModel;
+import javax.swing.tree.TreePath;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.awt.print.PageFormat;
-import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
@@ -53,69 +108,8 @@
import java.util.Map;
import java.util.regex.Pattern;
-import javax.media.jai.PlanarImage;
-import javax.print.attribute.HashPrintRequestAttributeSet;
-import javax.print.attribute.PrintRequestAttributeSet;
-import javax.swing.*;
-import javax.swing.event.HyperlinkEvent;
-import javax.swing.event.HyperlinkListener;
-import javax.swing.text.html.HTMLEditorKit;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeCellRenderer;
-import javax.swing.tree.DefaultTreeModel;
-import javax.swing.tree.TreeModel;
-import javax.swing.tree.TreePath;
+import static org.nuiton.i18n.I18n.t;
-import jaxx.runtime.JAXXObject;
-import jaxx.runtime.JAXXUtil;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.io.Charsets;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.SystemUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.printing.PDFPrinter;
-import org.apache.pdfbox.rendering.PDFRenderer;
-import org.nuiton.jaxx.application.ApplicationTechnicalException;
-import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil;
-import org.nuiton.util.FileUtil;
-import org.nuiton.util.StringUtil;
-
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
-import com.franciaflex.faxtomail.persistence.entities.DemandType;
-import com.franciaflex.faxtomail.persistence.entities.ExtensionCommand;
-import com.franciaflex.faxtomail.persistence.entities.MailField;
-import com.franciaflex.faxtomail.persistence.entities.MailFolder;
-import com.franciaflex.faxtomail.persistence.entities.Reply;
-import com.franciaflex.faxtomail.persistence.entities.ReplyContent;
-import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
-import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
-import com.franciaflex.faxtomail.services.service.ConfigurationService;
-import com.franciaflex.faxtomail.services.service.EmailService;
-import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Ordering;
-import com.itextpdf.text.Document;
-import com.itextpdf.text.DocumentException;
-import com.itextpdf.text.PageSize;
-import com.itextpdf.text.Paragraph;
-import com.itextpdf.text.pdf.PdfWriter;
-import com.sun.media.jai.codec.ByteArraySeekableStream;
-import com.sun.media.jai.codec.ImageCodec;
-import com.sun.media.jai.codec.ImageDecoder;
-import com.sun.media.jai.codec.SeekableStream;
-
/**
* @author kmorin - morin(a)codelutin.com
*
@@ -520,7 +514,7 @@
result = defaultPrinter || printJob.printDialog(attributes);
if (result) {
- pdDocument = PDDocument.load(fis);
+ pdDocument = PDDocument.loadLegacy(fis);
final PDFRenderer renderer = new PDFRenderer(pdDocument);
final int numOfPages = pdDocument.getNumberOfPages();
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java 2015-01-07 15:50:07 UTC (rev 741)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java 2015-01-08 06:29:38 UTC (rev 742)
@@ -24,32 +24,23 @@
* #L%
*/
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
-import com.franciaflex.faxtomail.persistence.entities.Client;
import com.franciaflex.faxtomail.persistence.entities.Email;
-import com.franciaflex.faxtomail.persistence.entities.EmailGroup;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import com.franciaflex.faxtomail.persistence.entities.History;
-import com.franciaflex.faxtomail.persistence.entities.MailField;
import com.franciaflex.faxtomail.persistence.entities.OriginalEmail;
import com.franciaflex.faxtomail.persistence.entities.RangeRow;
import com.franciaflex.faxtomail.persistence.entities.Reply;
import com.franciaflex.faxtomail.persistence.entities.ReplyContent;
import com.franciaflex.faxtomail.services.DecoratorService;
import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
-import com.franciaflex.faxtomail.services.service.ConfigurationService;
import com.franciaflex.faxtomail.services.service.EmailService;
import com.franciaflex.faxtomail.web.FaxToMailActionSupport;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
@@ -73,23 +64,17 @@
import javax.mail.Part;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
-import java.awt.*;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
-import java.util.Map;
import static org.nuiton.i18n.I18n.t;
@@ -186,7 +171,8 @@
if (message.isMimeType("multipart/*")) {
decomposeMultipartEmail(message, replyModel);
} else {
- String content = IOUtils.toString(message.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(message);
+ String content = IOUtils.toString(message.getInputStream(), charset);
replyModel.setPlainContent(content);
}
@@ -276,7 +262,8 @@
decomposeMultipartEmail(message, replyModel);
} else {
- String content = IOUtils.toString(message.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(message);
+ String content = IOUtils.toString(message.getInputStream(), charset);
replyModel.setPlainContent(content);
}
result.add(replyModel);
@@ -377,7 +364,8 @@
decomposeMultipartEmail(message, emailUIModel);
} else {
- String content = IOUtils.toString(message.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(message);
+ String content = IOUtils.toString(message.getInputStream(), charset);
emailUIModel.setPlainContent(content);
}
1
0
r741 - trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service
by kmorin@users.forge.codelutin.com 07 Jan '15
by kmorin@users.forge.codelutin.com 07 Jan '15
07 Jan '15
Author: kmorin
Date: 2015-01-07 15:50:07 +0000 (Wed, 07 Jan 2015)
New Revision: 741
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/741
Log:
fixes #6408 Erreur quand il n'y a pas de contenu dans la r?\195?\169ponse
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.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 2015-01-07 15:00:19 UTC (rev 740)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2015-01-07 15:50:07 UTC (rev 741)
@@ -24,62 +24,28 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.UUID;
-import java.util.regex.Pattern;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.activation.FileDataSource;
-import javax.mail.MessagingException;
-import javax.mail.Part;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.internet.MimeUtility;
-
-import com.franciaflex.faxtomail.persistence.entities.Email;
+import com.franciaflex.faxtomail.persistence.entities.*;
+import com.franciaflex.faxtomail.services.FaxToMailServiceSupport;
+import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
+import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException;
+import com.franciaflex.faxtomail.services.service.exceptions.FolderNotReadableException;
+import com.franciaflex.faxtomail.services.service.exceptions.InvalidClientException;
import com.franciaflex.faxtomail.services.service.imports.ArchiveImportExportBean;
import com.franciaflex.faxtomail.services.service.imports.ArchiveImportExportModel;
import com.franciaflex.faxtomail.services.service.imports.ArchiveImportResult;
import com.franciaflex.faxtomail.services.service.imports.InvalidArchiveImportBeanException;
+import com.github.mustachejava.DefaultMustacheFactory;
+import com.github.mustachejava.Mustache;
+import com.github.mustachejava.MustacheFactory;
+import com.google.common.base.Function;
import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
import com.google.common.collect.Collections2;
import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
@@ -87,24 +53,23 @@
import com.itextpdf.text.pdf.PdfWriter;
import gui.ava.html.Html2Image;
import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IteratorUtils;
import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.map.MultiKeyMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.mail.*;
+import org.apache.commons.mail.DefaultAuthenticator;
+import org.apache.commons.mail.EmailConstants;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.MultiPartEmail;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.StatelessSession;
import org.hibernate.Transaction;
-import org.hibernate.TransactionException;
import org.nuiton.csv.Export;
import org.nuiton.csv.Import;
import org.nuiton.decorator.Decorator;
@@ -118,27 +83,55 @@
import org.nuiton.util.StringUtil;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
-import org.nuiton.util.pagination.PaginationOrder;
import org.nuiton.util.pagination.PaginationParameter;
import org.nuiton.util.pagination.PaginationResult;
import org.xhtmlrenderer.pdf.ITextRenderer;
-import com.franciaflex.faxtomail.persistence.entities.*;
-import com.franciaflex.faxtomail.services.FaxToMailServiceSupport;
-import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
-import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException;
-import com.franciaflex.faxtomail.services.service.exceptions.FolderNotReadableException;
-import com.franciaflex.faxtomail.services.service.exceptions.InvalidClientException;
-import com.github.mustachejava.DefaultMustacheFactory;
-import com.github.mustachejava.Mustache;
-import com.github.mustachejava.MustacheFactory;
-import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Splitter;
-import com.google.common.base.Strings;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.activation.FileDataSource;
+import javax.mail.MessagingException;
+import javax.mail.Part;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.regex.Pattern;
+import static org.nuiton.i18n.I18n.t;
+
/**
* @author kmorin - kmorin(a)codelutin.com
*/
@@ -1130,7 +1123,9 @@
message.addBcc(bccs);
}
message.setSubject(subject);
- message.setMsg(content);
+ if (StringUtils.isNotEmpty(content)) {
+ message.setMsg(content);
+ }
for (AttachmentFile attachmentFile : attachments) {
// Create the attachment
1
0
r740 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande
by kmorin@users.forge.codelutin.com 07 Jan '15
by kmorin@users.forge.codelutin.com 07 Jan '15
07 Jan '15
Author: kmorin
Date: 2015-01-07 15:00:19 +0000 (Wed, 07 Jan 2015)
New Revision: 740
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/740
Log:
correction de l'archivage depuis la liste
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2015-01-07 14:12:06 UTC (rev 739)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2015-01-07 15:00:19 UTC (rev 740)
@@ -24,19 +24,7 @@
* #L%
*/
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import com.franciaflex.faxtomail.persistence.entities.Email;
-import org.apache.commons.collections4.CollectionUtils;
-import org.hibernate.Hibernate;
-import org.nuiton.util.pagination.PaginationParameter;
-
import com.franciaflex.faxtomail.persistence.entities.EmailTopiaDao;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import com.franciaflex.faxtomail.persistence.entities.MailFilter;
@@ -45,8 +33,18 @@
import com.franciaflex.faxtomail.persistence.entities.MailFolderTopiaDao;
import com.franciaflex.faxtomail.persistence.entities.WaitingState;
import com.franciaflex.faxtomail.services.FaxToMailServiceSupport;
+import org.apache.commons.collections4.CollectionUtils;
+import org.hibernate.Hibernate;
+import org.nuiton.util.pagination.PaginationParameter;
import javax.mail.Address;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author kmorin - kmorin(a)codelutin.com
@@ -227,6 +225,7 @@
@Override
public void fetchFolderAttributes(MailFolder folder) {
+ Hibernate.initialize(folder.getChildren());
Hibernate.initialize(folder.getFolderTableColumns());
Hibernate.initialize(folder.getRanges());
Hibernate.initialize(folder.getReplyAddresses());
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 2015-01-07 14:12:06 UTC (rev 739)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2015-01-07 15:00:19 UTC (rev 740)
@@ -260,13 +260,13 @@
@Override
public Email toEntity() {
Email result = newEntity();
- toBeanBinder.copyExcluding(this, result, Email.PROPERTY_ATTACHMENT);
+ toBeanBinder.copyExcluding(this, result, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_ORIGINAL_EMAIL);
return result;
}
@Override
public Email toEntity(Email entity) {
- toBeanBinder.copyExcluding(this, entity, Email.PROPERTY_ATTACHMENT);
+ toBeanBinder.copyExcluding(this, entity, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_ORIGINAL_EMAIL);
return entity;
}
1
0
r739 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content: demande/replies reply
by kmorin@users.forge.codelutin.com 07 Jan '15
by kmorin@users.forge.codelutin.com 07 Jan '15
07 Jan '15
Author: kmorin
Date: 2015-01-07 14:12:06 +0000 (Wed, 07 Jan 2015)
New Revision: 739
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/739
Log:
fixes #6407 Erreur lors du transfert d'une r?\195?\169ponse
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2015-01-06 16:59:33 UTC (rev 738)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2015-01-07 14:12:06 UTC (rev 739)
@@ -239,7 +239,7 @@
Message message = MimeMessageUtils.createMimeMessage(null, replyContent.getSource());
ReplyFormUIModel replyModel = dialogContent.getModel();
replyModel.setEditable(editable);
- replyModel.setOriginalDemand(ui.getModel());
+// replyModel.setOriginalDemand(ui.getModel());
replyModel.setReadSentDate(reply.getSentDate());
replyModel.setSubject(t("faxtomail.reply.forwardsubject", message.getSubject()));
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java 2015-01-06 16:59:33 UTC (rev 738)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java 2015-01-07 14:12:06 UTC (rev 739)
@@ -24,21 +24,20 @@
* #L%
*/
-import java.io.File;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import com.franciaflex.faxtomail.services.service.ldap.Contact;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.google.common.base.Preconditions;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.jdesktop.beans.AbstractSerializableBean;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.google.common.base.Preconditions;
+import java.io.File;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
/**
* @author Kevin Morin (Code Lutin)
@@ -96,7 +95,7 @@
protected Binder<ReplyFormUIModel, ReplyFormUIModel> copyBinder = BinderFactory.newBinder(ReplyFormUIModel.class);
public void fromModel(ReplyFormUIModel other) {
- copyBinder.copyExcluding(other, this);
+ copyBinder.copyExcluding(other, this, PROPERTY_ORIGINAL_DEMAND);
}
public Contact getContact() {
1
0
r738 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande
by kmorin@users.forge.codelutin.com 06 Jan '15
by kmorin@users.forge.codelutin.com 06 Jan '15
06 Jan '15
Author: kmorin
Date: 2015-01-06 16:59:33 +0000 (Tue, 06 Jan 2015)
New Revision: 738
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/738
Log:
throw lazy initialisation excpetion
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
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 2015-01-06 16:50:05 UTC (rev 737)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2015-01-06 16:59:33 UTC (rev 738)
@@ -22,41 +22,6 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.ByteArrayInputStream;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-import javax.activation.DataSource;
-import javax.mail.Address;
-import javax.mail.BodyPart;
-import javax.mail.Message;
-import javax.mail.Part;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.internet.MimeUtility;
-
-import com.franciaflex.faxtomail.persistence.entities.OriginalEmail;
-import com.google.common.collect.Lists;
-import com.sun.mail.util.MimeUtil;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.mail.util.MimeMessageUtils;
-import org.nuiton.jaxx.application.swing.tab.TabContentModel;
-import org.nuiton.util.beans.Binder;
-import org.nuiton.util.beans.BinderFactory;
-
import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
import com.franciaflex.faxtomail.persistence.entities.Client;
@@ -67,9 +32,9 @@
import com.franciaflex.faxtomail.persistence.entities.EmailImpl;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import com.franciaflex.faxtomail.persistence.entities.History;
-import com.franciaflex.faxtomail.persistence.entities.HistoryType;
import com.franciaflex.faxtomail.persistence.entities.MailField;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.persistence.entities.OriginalEmail;
import com.franciaflex.faxtomail.persistence.entities.Priority;
import com.franciaflex.faxtomail.persistence.entities.RangeRow;
import com.franciaflex.faxtomail.persistence.entities.Reply;
@@ -78,11 +43,35 @@
import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentModelAware;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailBeanUIModel;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Strings;
-import com.google.common.collect.Collections2;
+import com.google.common.collect.Lists;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.mail.util.MimeMessageUtils;
+import org.nuiton.jaxx.application.swing.tab.TabContentModel;
+import org.nuiton.util.beans.Binder;
+import org.nuiton.util.beans.BinderFactory;
+import javax.activation.DataSource;
+import javax.mail.Address;
+import javax.mail.BodyPart;
+import javax.mail.Message;
+import javax.mail.Part;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+import static org.nuiton.i18n.I18n.t;
+
/**
* @author kmorin - kmorin(a)codelutin.com
*
@@ -136,11 +125,11 @@
protected boolean closeable;
- protected static Binder<DemandeUIModel, Email> toBeanBinder =
+ protected static final Binder<DemandeUIModel, Email> toBeanBinder =
BinderFactory.newBinder(DemandeUIModel.class,
Email.class);
- protected static Binder<Email, DemandeUIModel> fromBeanBinder =
+ protected static final Binder<Email, DemandeUIModel> fromBeanBinder =
BinderFactory.newBinder(Email.class, DemandeUIModel.class);
protected static Binder<Attachment, Attachment> fromAttachmentBinder =
@@ -659,6 +648,8 @@
public void setMailFolder(MailFolder mailFolder) {
Object oldValue = getMailFolder();
editObject.setMailFolder(mailFolder);
+ //throw an lazy initialisation exception as soon as you can if the mailfolder is not initialized (cf #6345 and #6346)
+ mailFolder.getTopiaId();
firePropertyChanged(Email.PROPERTY_MAIL_FOLDER, oldValue, mailFolder);
}
1
0
r737 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content: attachment demande demande/demandgroup demande/history demande/replies pdfeditor reply
by kmorin@users.forge.codelutin.com 06 Jan '15
by kmorin@users.forge.codelutin.com 06 Jan '15
06 Jan '15
Author: kmorin
Date: 2015-01-06 16:50:05 +0000 (Tue, 06 Jan 2015)
New Revision: 737
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/737
Log:
refs #6315 fuites m?\195?\169moires
fixes #6391 Probl?\195?\168me d'encoding dans la visualisation des r?\195?\169ponses
corrige l'ouverture de certains pdf
Added:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentListener.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandsListener.java
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/AttachmentEditorUIHandler.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/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/DemandesUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIModel.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/ButtonEmailGroup.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/ButtonHistory.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.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/reply/ReplyFormUI.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentCellEditor.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -30,7 +30,6 @@
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;
import com.franciaflex.faxtomail.ui.swing.util.DemandeTableModel;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
@@ -69,7 +68,7 @@
protected FaxToMailUIContext context;
- protected AttachmentEditorUIModel.AttachmentListener listener;
+ protected AttachmentListener listener;
public AttachmentCellEditor(FaxToMailUIContext context) {
this.context = context;
@@ -103,7 +102,7 @@
editorButton.init(model);
- listener = new AttachmentEditorUIModel.AttachmentListener() {
+ listener = new AttachmentListener() {
@Override
public void onAttachmentOpened(Attachment attachment, boolean original) {
String topiaId = model.getTopiaId();
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -30,26 +30,13 @@
import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupHandler;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.google.common.collect.Iterables;
-
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
-
import org.apache.commons.collections4.CollectionUtils;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.decorator.HighlighterFactory;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import javax.swing.AbstractCellEditor;
-import javax.swing.Icon;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JTable;
+import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
@@ -59,6 +46,11 @@
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import static org.nuiton.i18n.I18n.t;
@@ -67,8 +59,6 @@
*/
public class AttachmentEditorUIHandler extends AbstractToolbarPopupHandler<AttachmentEditorUIModel, AttachmentEditorUI> {
- protected OpenAttachmentAction openAttachmentAction = new OpenAttachmentAction(this);
-
@Override
public void afterInit(AttachmentEditorUI ui) {
@@ -143,6 +133,7 @@
}
public void openAttachment(Attachment attachment) {
+ OpenAttachmentAction openAttachmentAction = new OpenAttachmentAction(this);
openAttachmentAction.setAttachment(attachment, true);
// run Internal to prevent multiple successive execution (#5668)
@@ -150,6 +141,7 @@
}
public void editAttachment(Attachment attachment) {
+ OpenAttachmentAction openAttachmentAction = new OpenAttachmentAction(this);
AttachmentEditorUIModel model = getModel();
if (model.isEditable() && FaxToMailUIUtil.isFileTypeEditable(attachment.getOriginalFileName())) {
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIModel.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -125,11 +125,4 @@
}
}
- public static interface AttachmentListener {
-
- public void onAttachmentOpened(Attachment attachment, boolean original);
-
- public void onAttachmentEdited(Attachment attachment);
-
- }
}
Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentListener.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentListener.java (rev 0)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentListener.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -0,0 +1,39 @@
+package com.franciaflex.faxtomail.ui.swing.content.attachment;
+
+/*
+ * #%L
+ * FaxToMail :: UI
+ * $Id:$
+ * $HeadURL:$
+ * %%
+ * Copyright (C) 2014 - 2015 Mac-Groupe, Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+
+/**
+* @author Kevin Morin (Code Lutin)
+* @since x.x
+*/
+public interface AttachmentListener {
+
+ public void onAttachmentOpened(Attachment attachment, boolean original);
+
+ public void onAttachmentEdited(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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/ButtonAttachment.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -27,16 +27,16 @@
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.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
-import org.apache.commons.collections4.CollectionUtils;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Collection;
import java.util.List;
+import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
-import static org.nuiton.i18n.I18n.n;
/**
* Button to edit attachments.
@@ -49,7 +49,7 @@
protected String textKey;
- private PropertyChangeListener listener = new PropertyChangeListener() {
+ private final PropertyChangeListener listener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
List<Attachment> attachments = (List<Attachment>) evt.getNewValue();
@@ -109,4 +109,9 @@
popup.getModel().setEditable(editable);
}
+ @Override
+ public void onCloseUI() {
+ super.onCloseUI();
+ popup.getModel().removePropertyChangeListener(AttachmentModelAware.PROPERTY_ATTACHMENT, listener);
+ }
}
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -22,38 +22,24 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-
-import javax.swing.JComponent;
-import javax.swing.JSplitPane;
-import javax.swing.JTextPane;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.table.TableCellEditor;
-
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
+import com.franciaflex.faxtomail.persistence.entities.DemandType;
+import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.persistence.entities.History;
import com.franciaflex.faxtomail.persistence.entities.HistoryImpl;
+import com.franciaflex.faxtomail.persistence.entities.HistoryType;
+import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.persistence.entities.Range;
+import com.franciaflex.faxtomail.persistence.entities.RangeRow;
+import com.franciaflex.faxtomail.persistence.entities.WaitingState;
+import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
+import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAction;
+import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentListener;
+import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
+import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.google.common.collect.Sets;
import jaxx.runtime.validator.swing.SwingValidator;
-
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.logging.Log;
@@ -73,23 +59,27 @@
import org.nuiton.jaxx.application.swing.util.CloseableUI;
import org.nuiton.util.beans.BeanMonitor;
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
-import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
-import com.franciaflex.faxtomail.persistence.entities.DemandType;
-import com.franciaflex.faxtomail.persistence.entities.Email;
-import com.franciaflex.faxtomail.persistence.entities.HistoryType;
-import com.franciaflex.faxtomail.persistence.entities.MailField;
-import com.franciaflex.faxtomail.persistence.entities.MailFolder;
-import com.franciaflex.faxtomail.persistence.entities.Range;
-import com.franciaflex.faxtomail.persistence.entities.RangeRow;
-import com.franciaflex.faxtomail.persistence.entities.WaitingState;
-import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
-import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
-import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAction;
-import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUIModel;
-import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import javax.swing.*;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.TableCellEditor;
+import java.awt.*;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import static org.nuiton.i18n.I18n.t;
+
/**
* Handler of UI {@link DemandeUIHandler}.
*
@@ -384,7 +374,7 @@
registerValidators(validator);
ui.getAttachmentsButton().getBean().addAttachmentListener(
- new AttachmentEditorUIModel.AttachmentListener() {
+ new AttachmentListener() {
@Override
public void onAttachmentOpened(Attachment attachment, boolean original) {
@@ -475,6 +465,10 @@
row.removePropertyChangeListener(rangeRowListener);
}
+ ui.getAttachmentsButton().onCloseUI();
+ ui.getHistoryButton().onCloseUI();
+ ui.getDemandRepliesButton().onCloseUI();
+
clearValidators();
}
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -24,39 +24,30 @@
* #L%
*/
-import java.awt.*;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import javax.swing.*;
-
-import com.franciaflex.faxtomail.ui.swing.actions.GoToPreviousScreenAction;
+import com.franciaflex.faxtomail.persistence.entities.Configuration;
+import com.franciaflex.faxtomail.persistence.entities.Email;
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
+import com.franciaflex.faxtomail.ui.swing.actions.ArchiveAction;
import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenChooseAttachmentToPrintAction;
import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenMailFolderChooserAction;
import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenReplyFormAction;
import com.franciaflex.faxtomail.ui.swing.actions.SaveAndOpenSearchToGroupAction;
-import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAction;
-import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUI;
+import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAndExitAction;
+import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
import jaxx.runtime.validator.swing.SwingValidator;
-
-import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
import org.nuiton.jaxx.application.swing.ApplicationUI;
import org.nuiton.jaxx.application.swing.action.AbstractApplicationAction;
import org.nuiton.jaxx.application.swing.tab.CustomTab;
-import org.nuiton.jaxx.application.swing.tab.DelegateTabContainerHandler;
import org.nuiton.jaxx.application.swing.tab.TabContainerHandler;
import org.nuiton.jaxx.application.swing.tab.TabContentModel;
import org.nuiton.jaxx.application.swing.tab.TabHandler;
-import org.nuiton.jaxx.application.swing.util.Cancelable;
import org.nuiton.jaxx.application.swing.util.CloseableUI;
-import com.franciaflex.faxtomail.persistence.entities.Configuration;
-import com.franciaflex.faxtomail.persistence.entities.Email;
-import com.franciaflex.faxtomail.persistence.entities.MailAction;
-import com.franciaflex.faxtomail.ui.swing.actions.ArchiveAction;
-import com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAndExitAction;
-import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
+import javax.swing.*;
+import java.awt.*;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
/**
* @author Kevin Morin (Code Lutin)
@@ -139,7 +130,7 @@
}
};
- model.addDemandsListener(new DemandesUIModel.DemandsListener() {
+ model.addDemandsListener(new DemandsListener() {
@Override
public void onDemandAdded(DemandeUIModel demand, int index, boolean added) {
@@ -214,6 +205,9 @@
tabHandler.getModel().removePropertyChangeListener(demandEnabledAndValidListener);
tabHandler.onCloseUI();
}
+
+ ui.getDemandGroupButton().onCloseUI();
+
}
@Override
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIModel.java 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIModel.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -50,7 +50,7 @@
protected List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>();
- protected List<DemandsListener> listeners = new ArrayList<DemandsListener>();
+ protected List<com.franciaflex.faxtomail.ui.swing.content.demande.DemandsListener> listeners = new ArrayList<com.franciaflex.faxtomail.ui.swing.content.demande.DemandsListener>();
protected int currentIndex = -1;
@@ -127,11 +127,11 @@
return demands.contains(demand);
}
- public void addDemandsListener(DemandsListener listener) {
+ public void addDemandsListener(com.franciaflex.faxtomail.ui.swing.content.demande.DemandsListener listener) {
listeners.add(listener);
}
- public void removeDemandsListener(DemandsListener listener) {
+ public void removeDemandsListener(com.franciaflex.faxtomail.ui.swing.content.demande.DemandsListener listener) {
listeners.remove(listener);
}
@@ -147,14 +147,6 @@
}
}
- public static interface DemandsListener {
-
- void onDemandAdded(DemandeUIModel demand, int index, boolean added);
-
- void onDemandRemoved(DemandeUIModel demand, int index);
-
- }
-
public DemandeUIModel getCurrentDemand() {
int currentIndex = getCurrentIndex();
if (currentIndex < 0 || currentIndex >= demands.size()) {
Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandsListener.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandsListener.java (rev 0)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandsListener.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -0,0 +1,37 @@
+package com.franciaflex.faxtomail.ui.swing.content.demande;
+
+/*
+ * #%L
+ * FaxToMail :: UI
+ * $Id:$
+ * $HeadURL:$
+ * %%
+ * Copyright (C) 2014 - 2015 Mac-Groupe, Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+/**
+ * @author Kevin Morin (Code Lutin)
+ * @since x.x
+ */
+public interface DemandsListener {
+
+ void onDemandAdded(DemandeUIModel demand, int index, boolean added);
+
+ void onDemandRemoved(DemandeUIModel demand, int index);
+
+}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/ButtonEmailGroup.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/ButtonEmailGroup.java 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/ButtonEmailGroup.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -41,21 +41,22 @@
*/
public class ButtonEmailGroup extends AbstractToolbarPopupButton<DemandGroupUI> {
+ private final PropertyChangeListener listener = new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ Collection<DemandeUIModel> demands = (Collection<DemandeUIModel>) evt.getNewValue();
+ if (demands != null) {
+ int size = demands.size();
+ setText(t("faxtomail.demandGroup.text", size));
+ }
+ }
+ };
+
public ButtonEmailGroup() {
setToolTipText(t("faxtomail.demandGroup.action.tip"));
int demandNb = popup.getModel().sizeGroupedDemandes();
setText(t("faxtomail.demandGroup.text", demandNb));
-
- popup.getModel().addPropertyChangeListener(DemandeUIModel.PROPERTY_GROUPED_DEMANDES, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- Collection<DemandeUIModel> demands = (Collection<DemandeUIModel>) evt.getNewValue();
- if (demands != null) {
- int size = demands.size();
- setText(t("faxtomail.demandGroup.text", size));
- }
- }
- });
+ popup.getModel().addPropertyChangeListener(DemandeUIModel.PROPERTY_GROUPED_DEMANDES, listener);
}
@Override
@@ -68,4 +69,10 @@
return new DemandGroupUI(FaxToMailUIContext.getApplicationContext());
}
+ @Override
+ public void onCloseUI() {
+ super.onCloseUI();
+ popup.getModel().removePropertyChangeListener(DemandeUIModel.PROPERTY_GROUPED_DEMANDES, listener);
+ }
+
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/ButtonHistory.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/ButtonHistory.java 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/ButtonHistory.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -83,4 +83,11 @@
return new HistoryListUI(FaxToMailUIContext.getApplicationContext());
}
+ @Override
+ public void onCloseUI() {
+ super.onCloseUI();
+ if (popup.getModel() != null) {
+ popup.getModel().removePropertyChangeListener(Email.PROPERTY_HISTORY, listener);
+ }
+ }
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -35,8 +35,8 @@
import java.beans.PropertyChangeListener;
import java.util.Collection;
+import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
-import static org.nuiton.i18n.I18n.n;
/**
* Button to edit replies.
@@ -99,4 +99,12 @@
public void setEditable(boolean editable) {
popup.setEditable(editable);
}
+
+ @Override
+ public void onCloseUI() {
+ super.onCloseUI();
+ if (popup.getModel() != null) {
+ popup.getModel().removePropertyChangeListener(Email.PROPERTY_REPLIES, listener);
+ }
+ }
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -24,27 +24,41 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
+import com.franciaflex.faxtomail.persistence.entities.Email;
+import com.franciaflex.faxtomail.persistence.entities.Reply;
+import com.franciaflex.faxtomail.persistence.entities.ReplyContent;
+import com.franciaflex.faxtomail.services.FaxToMailServiceUtils;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyAttachmentModel;
+import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI;
+import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel;
+import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupHandler;
+import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import com.google.common.collect.Iterables;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.mail.util.MimeMessageUtils;
+import org.jdesktop.swingx.JXTable;
+import org.jdesktop.swingx.decorator.HighlighterFactory;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Part;
-import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
-import javax.swing.AbstractCellEditor;
-import javax.swing.JComponent;
-import javax.swing.JTable;
+import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
@@ -54,34 +68,14 @@
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
+import java.awt.*;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.ByteArrayOutputStream;
+import java.nio.charset.Charset;
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
-import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyAttachmentModel;
+import static org.nuiton.i18n.I18n.t;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXTable;
-import org.jdesktop.swingx.decorator.HighlighterFactory;
-
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
-import com.franciaflex.faxtomail.persistence.entities.Email;
-import com.franciaflex.faxtomail.persistence.entities.Reply;
-import com.franciaflex.faxtomail.persistence.entities.ReplyContent;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI;
-import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel;
-import com.franciaflex.faxtomail.ui.swing.util.AbstractToolbarPopupHandler;
-import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
-import com.google.common.collect.Iterables;
-
/**
* @author Kevin Morin (Code Lutin)
*
@@ -198,11 +192,10 @@
ReplyFormUI dialogContent = new ReplyFormUI(ui);
// TODO echatellier 20140804 : c'est très technique et très bas niveau, ca devrait se trouver dans les services
ReplyContent replyContent = reply.getReplyContent();
- Message message = new MimeMessage(null, new ByteArrayInputStream(replyContent.getSource()));
+ Message message = MimeMessageUtils.createMimeMessage(null, replyContent.getSource());
ReplyFormUIModel replyModel = dialogContent.getModel();
replyModel.setEditable(editable);
replyModel.setReadonly(true);
- replyModel.setOriginalDemand(ui.getModel());
replyModel.setReadSentDate(reply.getSentDate());
replyModel.setSubject(message.getSubject());
replyModel.setTo(StringUtils.join(message.getRecipients(RecipientType.TO), " ; "));
@@ -218,11 +211,13 @@
decomposeMultipartEmail(message, replyModel, reply.getTopiaId());
} else {
- String content = IOUtils.toString(message.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(message);
+ String content = IOUtils.toString(message.getInputStream(), charset);
replyModel.setMessage(content);
}
+ log.info(replyModel.getMessage());
- openFrame(dialogContent, t("faxtomail.reply.title", getModel().getSubject()), new Dimension(800, 600));
+ openFrame(dialogContent, replyModel.getSubject(), new Dimension(800, 600));
} catch (Exception e) {
getContext().getErrorHelper().showErrorDialog(t("faxtomail.demandReplies.error"), e);
@@ -241,7 +236,7 @@
ReplyFormUI dialogContent = new ReplyFormUI(ui);
// TODO echatellier 20140804 : c'est très technique et très bas niveau, ca devrait se trouver dans les services
ReplyContent replyContent = reply.getReplyContent();
- Message message = new MimeMessage(null, new ByteArrayInputStream(replyContent.getSource()));
+ Message message = MimeMessageUtils.createMimeMessage(null, replyContent.getSource());
ReplyFormUIModel replyModel = dialogContent.getModel();
replyModel.setEditable(editable);
replyModel.setOriginalDemand(ui.getModel());
@@ -252,7 +247,8 @@
decomposeMultipartEmail(message, replyModel, reply.getTopiaId());
} else {
- String content = IOUtils.toString(message.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(message);
+ String content = IOUtils.toString(message.getInputStream(), charset);
replyModel.setMessage(content);
}
@@ -290,7 +286,8 @@
// if it is a text part, the,n this is the email content
String disposition = bp.getDisposition();
if (bp.isMimeType("text/*") && !Part.ATTACHMENT.equals(disposition)) {
- String content = IOUtils.toString(bp.getInputStream());
+ Charset charset = FaxToMailServiceUtils.getCharset(bp);
+ String content = IOUtils.toString(bp.getInputStream(), charset);
reply.setMessage(content);
// if it is multipart part, decompose it
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -24,8 +24,30 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+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.actions.GenerateAnnotatedAttachmentAction;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
+import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import com.franciaflex.faxtomail.ui.swing.util.JImagePanel;
+import com.itextpdf.text.DocumentException;
+import jaxx.runtime.swing.ComponentMover;
+import jaxx.runtime.swing.ComponentResizer;
+import jaxx.runtime.swing.JAXXButtonGroup;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ContainerEvent;
import java.awt.event.ContainerListener;
@@ -35,43 +57,12 @@
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.List;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
+import static org.nuiton.i18n.I18n.t;
-import com.itextpdf.text.pdf.PdfReader;
-import com.itextpdf.text.pdf.PdfStamper;
-import com.itextpdf.text.pdf.PdfWriter;
-import jaxx.runtime.swing.ComponentMover;
-import jaxx.runtime.swing.ComponentResizer;
-import jaxx.runtime.swing.JAXXButtonGroup;
-import jaxx.runtime.validator.swing.SwingValidator;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.rendering.ImageType;
-import org.apache.pdfbox.rendering.PDFRenderer;
-import org.nuiton.jaxx.application.swing.util.Cancelable;
-import org.nuiton.jaxx.application.swing.util.CloseableUI;
-
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
-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.actions.GenerateAnnotatedAttachmentAction;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
-import com.franciaflex.faxtomail.ui.swing.util.JImagePanel;
-import com.itextpdf.text.DocumentException;
-
/**
* @author Kevin Morin (Code Lutin)
*
@@ -83,8 +74,6 @@
protected ComponentMover cm = new ComponentMover();
protected ComponentResizer cr = new ComponentResizer();
-// protected PdfDecoder pdfDecoder;
-// protected PDFFile pdf;
protected PDDocument pdDocument;
@Override
@@ -188,7 +177,7 @@
if (FaxToMailUIUtil.isFileAPDF(attachmentFile)) {
try {
- pdDocument = PDDocument.load(file);
+ pdDocument = PDDocument.loadLegacy(file);
model.setPageNumber(pdDocument.getNumberOfPages());
model.setCurrentPageIndex(1);
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx 2014-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx 2015-01-06 16:50:05 UTC (rev 737)
@@ -147,7 +147,7 @@
orientation="{JSplitPane.VERTICAL_SPLIT}"
constraints='BorderLayout.CENTER'>
<JScrollPane>
- <JEditorPane id="message"
+ <JTextPane id="message"
onKeyReleased='handler.setText(event, "message")'/>
</JScrollPane>
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-12-24 14:36:54 UTC (rev 736)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2015-01-06 16:50:05 UTC (rev 737)
@@ -24,10 +24,30 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
+import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.services.service.ldap.Contact;
+import com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentToReplyAction;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
+import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
+import org.nuiton.validator.bean.simple.SimpleBeanValidator;
-import java.awt.Component;
-import java.awt.Dimension;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -39,32 +59,8 @@
import java.util.Collections;
import java.util.List;
-import javax.swing.*;
+import static org.nuiton.i18n.I18n.t;
-import com.franciaflex.faxtomail.services.service.ldap.Contact;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.validator.swing.SwingValidator;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.jaxx.application.swing.util.Cancelable;
-import org.nuiton.validator.bean.simple.SimpleBeanValidator;
-
-import com.franciaflex.faxtomail.persistence.entities.Attachment;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
-import com.franciaflex.faxtomail.persistence.entities.MailFolder;
-import com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentToReplyAction;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
-import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
-
/**
* @author Kevin Morin (Code Lutin)
*
@@ -94,7 +90,7 @@
public void afterInit(ReplyFormUI replyFormUI) {
initUI(ui);
- JEditorPane editor = ui.getMessage();
+ JTextPane editor = ui.getMessage();
editor.setCaretPosition(0);
ReplyFormUIModel model = getModel();
1
0
r736 - in trunk: . faxtomail-ui-swing faxtomail-ui-swing/src/license faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util
by kmorin@users.forge.codelutin.com 24 Dec '14
by kmorin@users.forge.codelutin.com 24 Dec '14
24 Dec '14
Author: kmorin
Date: 2014-12-24 14:36:54 +0000 (Wed, 24 Dec 2014)
New Revision: 736
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/736
Log:
qualit?\195?\169 d'impression
Modified:
trunk/faxtomail-ui-swing/pom.xml
trunk/faxtomail-ui-swing/src/license/THIRD-PARTY.properties
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/pdfeditor/PDFEditorUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java
trunk/pom.xml
Modified: trunk/faxtomail-ui-swing/pom.xml
===================================================================
--- trunk/faxtomail-ui-swing/pom.xml 2014-12-23 16:24:48 UTC (rev 735)
+++ trunk/faxtomail-ui-swing/pom.xml 2014-12-24 14:36:54 UTC (rev 736)
@@ -226,16 +226,6 @@
</dependency>
<dependency>
- <groupId>javax.media.jai</groupId>
- <artifactId>com.springsource.javax.media.jai.core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>javax.media.jai</groupId>
- <artifactId>com.springsource.javax.media.jai.codec</artifactId>
- </dependency>
-
- <dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</dependency>
@@ -250,23 +240,29 @@
<artifactId>activation</artifactId>
</dependency>
+ <dependency>
+ <groupId>javax.media.jai</groupId>
+ <artifactId>com.springsource.javax.media.jai.core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.media.jai</groupId>
+ <artifactId>com.springsource.javax.media.jai.codec</artifactId>
+ </dependency>
+
<!-- for pdf edition -->
+ <!--<dependency>-->
+ <!--<groupId>org.jpedal</groupId>-->
+ <!--<artifactId>jpedal-lgpl</artifactId>-->
+ <!--</dependency>-->
+
<dependency>
- <groupId>org.jpedal</groupId>
- <artifactId>jpedal-lgpl</artifactId>
+ <groupId>org.apache.pdfbox</groupId>
+ <artifactId>pdfbox</artifactId>
</dependency>
</dependencies>
- <!-- TODO -->
- <repositories>
- <repository>
- <id>com.springsource.repository.bundles.external</id>
- <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
- <url>http://repository.springsource.com/maven/bundles/external</url>
- </repository>
- </repositories>
-
<build>
<resources>
<resource>
Modified: trunk/faxtomail-ui-swing/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/faxtomail-ui-swing/src/license/THIRD-PARTY.properties 2014-12-23 16:24:48 UTC (rev 735)
+++ trunk/faxtomail-ui-swing/src/license/THIRD-PARTY.properties 2014-12-24 14:36:54 UTC (rev 736)
@@ -6,7 +6,6 @@
# - Apache License 2.0
# - Apache License, version 2.0
# - BSD License
-# - Bouncy Castle Licence
# - CDDL
# - Common Development and Distribution License
# - Common Development and Distribution License (CDDL) v1.0
@@ -25,10 +24,8 @@
# - GNU Library or Lesser General Public License
# - GPLv2+CE
# - General Public License (GPL)
-# - JDL (Java Distribution License)
# - LGPL
# - LGPL 2.1
-# - LGPL Open Source license
# - Lesser General Public License (LGPL)
# - Lesser General Public License (LGPL) v 3.0
# - MIT License
@@ -43,11 +40,10 @@
# Please fill the missing licenses for dependencies :
#
#
-#Mon Dec 15 12:35:36 CET 2014
+#Wed Dec 24 11:31:43 CET 2014
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
gui.ava--html2image--2.0.1=GNU Lesser General Public License, Version 2.1
-javax.media--jai_codec--1.1.3=Apache License
-javax.media.jai--com.springsource.javax.media.jai.codec--1.1.3=Apache License
-javax.media.jai--com.springsource.javax.media.jai.core--1.1.3=Apache License
+javax.media.jai--com.springsource.javax.media.jai.codec--1.1.3=The Apache Software License, Version 2.0
+javax.media.jai--com.springsource.javax.media.jai.core--1.1.3=The Apache Software License, Version 2.0
org.nuiton.thirdparty--sdoc--0.5.0-beta-patchcl=Lesser General Public License (LGPL) v 3.0
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-12-23 16:24:48 UTC (rev 735)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveDemandeAction.java 2014-12-24 14:36:54 UTC (rev 736)
@@ -81,7 +81,7 @@
Email persistedEmail;
String topiaId = model.getTopiaId();
FaxToMailServiceContext serviceContext = context.newServiceContext();
- if (!StringUtils.isBlank(topiaId)) {
+ if (StringUtils.isNotBlank(topiaId)) {
persistedEmail = serviceContext.getEmailService().getFullEmailById(topiaId);
} else {
persistedEmail = new EmailImpl();
@@ -117,7 +117,8 @@
}
FaxToMailUser currentUser = context.getCurrentUser();
- if (model.getDemandStatus() != DemandStatus.ARCHIVED && takeIfNotTaken && model.getTakenBy() == null) {
+ DemandStatus demandStatus = model.getDemandStatus();
+ if (demandStatus != DemandStatus.ARCHIVED && takeIfNotTaken && model.getTakenBy() == null) {
model.setTakenBy(getContext().getCurrentUser());
}
@@ -132,9 +133,10 @@
model.fromEntity(email);
MailFolder folder = model.getMailFolder();
+ boolean folderWritable = folder.isFolderWritable();
if (model.getArchiveDate() != null
- || !folder.isFolderWritable()
- || !model.getDemandStatus().isEditableStatus()) {
+ || !folderWritable
+ || !demandStatus.isEditableStatus()) {
model.setEditable(false);
}
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-12-23 16:24:48 UTC (rev 735)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-12-24 14:36:54 UTC (rev 736)
@@ -35,6 +35,7 @@
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.List;
@@ -42,16 +43,20 @@
import javax.swing.JComponent;
import javax.swing.JPanel;
+import com.itextpdf.text.pdf.PdfReader;
+import com.itextpdf.text.pdf.PdfStamper;
+import com.itextpdf.text.pdf.PdfWriter;
import jaxx.runtime.swing.ComponentMover;
import jaxx.runtime.swing.ComponentResizer;
import jaxx.runtime.swing.JAXXButtonGroup;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jpedal.PdfDecoder;
-import org.jpedal.exception.PdfException;
-import org.jpedal.fonts.FontMappings;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.ImageType;
+import org.apache.pdfbox.rendering.PDFRenderer;
import org.nuiton.jaxx.application.swing.util.Cancelable;
import org.nuiton.jaxx.application.swing.util.CloseableUI;
@@ -78,8 +83,9 @@
protected ComponentMover cm = new ComponentMover();
protected ComponentResizer cr = new ComponentResizer();
- protected PdfDecoder pdfDecoder;
+// protected PdfDecoder pdfDecoder;
// protected PDFFile pdf;
+ protected PDDocument pdDocument;
@Override
public void afterInit(PDFEditorUI pdfEditorUI) {
@@ -102,9 +108,6 @@
String value = (String) actionGroup.getSelectedValue();
model.setSelectedComponent(PDFEditorUIModel.EditionComponent.valueOf(value));
- pdfDecoder = new PdfDecoder();
- FontMappings.setFontReplacements();
-
ui.getContainer().addContainerListener(new ContainerListener() {
@Override
public void componentAdded(ContainerEvent e) {
@@ -182,17 +185,14 @@
getContext().getErrorHelper().showErrorDialog(t("faxtomail.pdfEditor.convertToPdf.error"));
}
}
+
if (FaxToMailUIUtil.isFileAPDF(attachmentFile)) {
try {
- pdfDecoder.closePdfFile();
- pdfDecoder.openPdfFile(file.getPath());
- pdfDecoder.setExtractionMode(0, 0, 1f);
- pdfDecoder.setCenterOnScaling(true);
-
- model.setPageNumber(pdfDecoder.getPageCount());
+ pdDocument = PDDocument.load(file);
+ model.setPageNumber(pdDocument.getNumberOfPages());
model.setCurrentPageIndex(1);
- } catch (PdfException e) {
+ } catch (IOException e) {
if (log.isErrorEnabled()) {
log.error("error while converting file to pdf", e);
}
@@ -254,7 +254,7 @@
@Override
public void onCloseUI() {
- pdfDecoder.closePdfFile();
+ IOUtils.closeQuietly(pdDocument);
}
public void addEditionComponent(MouseEvent event) {
@@ -349,19 +349,20 @@
}
protected void displayPage(int pageNb, float previousZoom, int previousRotation) {
- if (pageNb < 1 || pageNb > pdfDecoder.getPageCount()) {
+ if (pageNb < 1 || pageNb > pdDocument.getNumberOfPages()) {
return;
}
+ PDFRenderer renderer = new PDFRenderer(pdDocument);
+ float zoom = getModel().getZoom();
+ int rotation = getModel().getRotation();
+
try {
- float zoom = getModel().getZoom();
- int rotation = getModel().getRotation();
- pdfDecoder.setExtractionMode(0, 0, zoom);
- BufferedImage image = pdfDecoder.getPageAsImage(pageNb);
+ BufferedImage image = renderer.renderImage(pageNb - 1, zoom);
- int width = (int) (zoom * image.getWidth());
- int height = (int) (zoom * image.getHeight());
+ int width = image.getWidth();
+ int height = image.getHeight();
JPanel container = getUI().getContainer();
Dimension containerSize = new Dimension(rotation % 180 == 0 ? width : height,
@@ -508,7 +509,7 @@
container.updateUI();
- } catch (PdfException e) {
+ } catch (IOException e) {
if (log.isErrorEnabled()) {
log.error("error while displaying pdf", e);
}
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-12-23 16:24:48 UTC (rev 735)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-12-24 14:36:54 UTC (rev 736)
@@ -56,7 +56,6 @@
import javax.media.jai.PlanarImage;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
-import javax.print.attribute.standard.MediaPrintableArea;
import javax.swing.*;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
@@ -79,10 +78,10 @@
import org.apache.commons.lang3.SystemUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jpedal.PdfDecoder;
-import org.jpedal.examples.simpleviewer.paper.PaperSizes;
-import org.jpedal.exception.PdfException;
-import org.jpedal.fonts.FontMappings;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.printing.PDFPrinter;
+import org.apache.pdfbox.rendering.PDFRenderer;
import org.nuiton.jaxx.application.ApplicationTechnicalException;
import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil;
import org.nuiton.util.FileUtil;
@@ -506,16 +505,13 @@
* @param defaultPrinter if {@code true}, do not display print dialog and print with default printer
* @return true if file has been printed, false otherwise
*/
+ //TODO kmorin print in an action
protected static boolean printWithPdfRenderer(String printName, FileInputStream fis, boolean defaultPrinter) {
boolean result = false;
- final PdfDecoder pdfDecoder = new PdfDecoder();
- FontMappings.setFontReplacements();
+ PDDocument pdDocument = null;
try {
- pdfDecoder.openPdfFileFromInputStream(fis, false);
- pdfDecoder.setExtractionMode(0, 0, 1f);
-
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setJobName(printName);
@@ -523,82 +519,90 @@
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
result = defaultPrinter || printJob.printDialog(attributes);
- PageFormat pageFormat = printJob.getPageFormat(attributes);
- final double paperWidth = (int) pageFormat.getImageableWidth();
- final double paperHeight = (int) pageFormat.getImageableHeight();
- final int paperX = (int) pageFormat.getImageableX();
- final int paperY = (int) pageFormat.getImageableY();
+ if (result) {
+ pdDocument = PDDocument.load(fis);
+ final PDFRenderer renderer = new PDFRenderer(pdDocument);
+ final int numOfPages = pdDocument.getNumberOfPages();
- if (log.isDebugEnabled()) {
- log.debug("page width " + paperWidth);
- log.debug("page height " + paperHeight);
- log.debug("page x " + paperX);
- log.debug("page y " + paperY);
- }
+ printJob.setPrintable(new Printable() {
+ public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
+ try {
+ if (pageIndex >= numOfPages) {
+ return NO_SUCH_PAGE;
+ }
- printJob.setPrintable(new Printable() {
- public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
- try {
- if (pageIndex >= pdfDecoder.getPageCount()) {
- return NO_SUCH_PAGE;
- }
- BufferedImage image = pdfDecoder.getPageAsImage(pageIndex + 1);
+ double paperWidth = (int) pageFormat.getImageableWidth();
+ double paperHeight = (int) pageFormat.getImageableHeight();
+ int paperX = (int) pageFormat.getImageableX();
+ int paperY = (int) pageFormat.getImageableY();
- int imageWidth = image.getWidth();
- int imageHeight = image.getHeight();
- double widthRatio = paperWidth / imageWidth;
- double heightRatio = paperHeight / imageHeight;
+ if (log.isDebugEnabled()) {
+ log.debug("page width " + paperWidth);
+ log.debug("page height " + paperHeight);
+ log.debug("page x " + paperX);
+ log.debug("page y " + paperY);
+ }
- if (log.isDebugEnabled()) {
- log.debug("width ratio : " + widthRatio);
- log.debug("height ratio : " + heightRatio);
- }
+ BufferedImage image = renderer.renderImageWithDPI(pageIndex, 300);
- int width;
- int height;
- // if the image is smaller than the page
- if (widthRatio >= 1 && heightRatio >= 1) {
- width = imageWidth;
- height = imageHeight;
+ int imageWidth = image.getWidth();
+ int imageHeight = image.getHeight();
+ double widthRatio = paperWidth / imageWidth;
+ double heightRatio = paperHeight / imageHeight;
- } else {
- double minRatio = Math.min(widthRatio, heightRatio);
- width = (int) (minRatio * imageWidth);
- height = (int) (minRatio * imageHeight);
- }
+ if (log.isDebugEnabled()) {
+ log.debug("width ratio : " + widthRatio);
+ log.debug("height ratio : " + heightRatio);
+ }
- if (log.isDebugEnabled()) {
- log.debug("image width : " + width);
- log.debug("image height : " + height);
- }
- graphics.drawImage(image, paperX, paperY, width, height, null);
+ int width;
+ int height;
+ // if the image is smaller than the page
+ if (widthRatio >= 1 && heightRatio >= 1) {
+ width = imageWidth;
+ height = imageHeight;
- return PAGE_EXISTS;
+ } else {
+ double minRatio = Math.min(widthRatio, heightRatio);
+ width = (int) (minRatio * imageWidth);
+ height = (int) (minRatio * imageHeight);
+ }
- } catch (Exception e) {
- if (log.isErrorEnabled()) {
- log.error("error while printing", e);
+ if (log.isDebugEnabled()) {
+ log.debug("image width : " + width);
+ log.debug("image height : " + height);
+ }
+ graphics.drawImage(image, paperX, paperY, width, height, null);
+
+ return PAGE_EXISTS;
+
+ } catch (Exception e) {
+ if (log.isErrorEnabled()) {
+ log.error("error while printing", e);
+ }
+ return NO_SUCH_PAGE;
}
- return NO_SUCH_PAGE;
}
- }
- });
+ });
- if (result) {
printJob.print(attributes);
}
- } catch (PrinterException | PdfException ex) {
+ } catch (PrinterException ex) {
if (log.isErrorEnabled()) {
log.error("can't print", ex);
}
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error("", e);
+ }
} finally {
if (log.isDebugEnabled()) {
log.debug("finally close the pdf file");
}
- pdfDecoder.closePdfFile();
+ IOUtils.closeQuietly(pdDocument);
}
return result;
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-12-23 16:24:48 UTC (rev 735)
+++ trunk/pom.xml 2014-12-24 14:36:54 UTC (rev 736)
@@ -150,6 +150,26 @@
<checksumPolicy>fail</checksumPolicy>
</releases>
</repository>
+
+ <repository>
+ <id>repository.apache.org</id>
+ <url>http://repository.apache.org/content/groups/snapshots</url>
+ <snapshots>
+ <enabled>true</enabled>
+ <checksumPolicy>fail</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ <checksumPolicy>fail</checksumPolicy>
+ </releases>
+ </repository>
+
+ <repository>
+ <id>com.springsource.repository.bundles.external</id>
+ <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
+ <url>http://repository.springsource.com/maven/bundles/external</url>
+ </repository>
+
</repositories>
<pluginRepositories>
@@ -654,6 +674,12 @@
<version>4.74b27</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.pdfbox</groupId>
+ <artifactId>pdfbox</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
1
0
r735 - trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service
by kmorin@users.forge.codelutin.com 23 Dec '14
by kmorin@users.forge.codelutin.com 23 Dec '14
23 Dec '14
Author: kmorin
Date: 2014-12-23 16:24:48 +0000 (Tue, 23 Dec 2014)
New Revision: 735
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/735
Log:
refs #6335 Corriger les lenteurs d'affichage des listes
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.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-12-20 20:35:03 UTC (rev 734)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-12-23 16:24:48 UTC (rev 735)
@@ -166,31 +166,20 @@
Email email = getPersistenceContext().getEmailDao()
.forTopiaIdEquals(id)
.addAllFetches(Email.PROPERTY_DEMAND_TYPE,
- //Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
- //Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER,
- //Email.PROPERTY_REPLIES,
- //Email.PROPERTY_ATTACHMENT,
Email.PROPERTY_TAKEN_BY,
Email.PROPERTY_LAST_ATTACHMENT_OPENER,
Email.PROPERTY_CLIENT,
- //Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL,
- //Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL + "." + Email.PROPERTY_MAIL_FOLDER,
Email.PROPERTY_WAITING_STATE,
Email.PROPERTY_ORIGINAL_EMAIL,
Email.PROPERTY_PRIORITY).findUnique();
// manual fetch
- //Hibernate.initialize(email.getPriority());
- //Hibernate.initialize(email.getDemandType());
- //Hibernate.initialize(email.getClient());
List<RangeRow> rangeRows = email.getRangeRow();
if (rangeRows != null) {
for (RangeRow rangeRow : rangeRows) {
Hibernate.initialize(rangeRow.getRange());
}
}
- //Hibernate.initialize(email.getWaitingState()));
- //Hibernate.initialize(email.getTakenBy());
Hibernate.initialize(email.getReplies());
Hibernate.initialize(email.getAttachment());
Collection<History> histories = email.getHistory();
@@ -312,6 +301,11 @@
}
}
+ OriginalEmail originalEmail = email.getOriginalEmail();
+ if (!originalEmail.isPersisted()) {
+ getPersistenceContext().getOriginalEmailDao().create(originalEmail);
+ }
+
Collection<History> histories;
if (!email.isPersisted()) {
histories = email.getHistory();
@@ -387,11 +381,6 @@
email.addHistory(history);
}
- OriginalEmail originalEmail = email.getOriginalEmail();
- if (!originalEmail.isPersisted()) {
- getPersistenceContext().getOriginalEmailDao().create(originalEmail);
- }
-
Email result = dao.update(email);
getPersistenceContext().commit();
@@ -749,159 +738,8 @@
PaginationResult<Email> result;
if (folder.isFolderReadable()) {
EmailTopiaDao dao = getPersistenceContext().getEmailDao();
-
result = dao.getEmailForFolder(filter, folder, page);
-// result = dao.getEmailForFolder2(filter, folder, page);
-// result = dao.getEmailForFolder(filter, folder, page);
-// result = dao.getEmailForFolder3(filter, folder, page);
-//
-//
-// TopiaSqlSupport sqlSupport = getPersistenceContext().getSqlSupport();
-// sqlSupport.doSqlWork(new TopiaSqlWork() {
-//
-// @Override
-// public void execute(Connection connection) throws SQLException {
-//
-//
-// long time = new Date().getTime();
-// log.info("before sql : " + time);
-//
-// // attention, le sql à pour cible postgresql, mssql, h2, il doit rester simple
-// String query = String.format("select\n" +
-// " distinct top(%s) emailimpl0_.topiaId as topiaId1_7_,\n" +
-// " emailimpl0_.topiaVersion as topiaVer2_7_,\n" +
-// " emailimpl0_.topiaCreateDate as topiaCre3_7_,\n" +
-// " emailimpl0_.receptionDate as receptio4_7_,\n" +
-// " emailimpl0_.ediError as ediError5_7_,\n" +
-// " emailimpl0_.projectReference as projectR6_7_,\n" +
-// " emailimpl0_.sender as sender7_7_,\n" +
-// " emailimpl0_.fax as fax8_7_,\n" +
-// " emailimpl0_.recipient as recipien9_7_,\n" +
-// " emailimpl0_.object as object10_7_,\n" +
-// " emailimpl0_.archiveDate as archive11_7_,\n" +
-// " emailimpl0_.companyReference as company12_7_,\n" +
-// " emailimpl0_.originalEmail as origina13_7_,\n" +
-// " emailimpl0_.comment as comment14_7_,\n" +
-// " emailimpl0_.mailFolder as mailFol15_7_,\n" +
-// " emailimpl0_.demandType as demandT16_7_,\n" +
-// " emailimpl0_.priority as priorit17_7_,\n" +
-// " emailimpl0_.waitingState as waiting18_7_,\n" +
-// " emailimpl0_.takenBy as takenBy19_7_,\n" +
-// " emailimpl0_.client as client20_7_,\n" +
-// " emailimpl0_.demandStatus as demandS21_7_,\n" +
-// " emailimpl0_.emailGroup as emailGr22_7_,\n" +
-// " emailimpl0_.lastAttachmentOpener as lastAtt23_7_ \n" +
-// " from\n" +
-// " email emailimpl0_ \n" +
-// " where\n" +
-// " emailimpl0_.mailFolder='%s' \n" +
-// " and emailimpl0_.demandStatus<>'ARCHIVED' " +
-// "order by emailimpl0_.topiaCreateDate ASC",
-// page.getPageSize(),
-// folder.getTopiaId());
-// log.info(query);
-// Statement stat = connection.createStatement();
-//
-// long time2 = new Date().getTime();
-// log.info("after sql : " + time2 + "(" + (time2 - time) + ")");
-//
-// // get query result set
-// ResultSet resultSet = stat.executeQuery(query);
-// while (resultSet.next()) {
-// Email email = new EmailImpl();
-//// String topiaId = topiaId1_7_
-//// String topiaVersion = topiaVer2_7_
-//// String topiaCreateDate = topiaCre3_7_
-//// String receptionDate = receptio4_7_
-//// String ediError = ediError5_7_
-//// String projectReference = projectR6_7_
-//// String sender = sender7_7_
-//// String fax = fax8_7_
-//// String recipient = recipien9_7_
-//// String object = object10_7_
-//// String acrhiveDate = archive11_7_
-//// String companyReference = company12_7_
-//// String originalEmail = origina13_7_
-//// String comment = comment14_7_
-//// String mailFolder = mailFol15_7_
-//// String demandType = demandT16_7_
-//// String priority = priorit17_7_
-//// String waintingState = waiting18_7_
-//// String takenBy = takenBy19_7_
-//// String client = client20_7_
-//// String topiaId = demandS21_7_
-//// String topiaId = emailGr22_7_
-//// String topiaId = lastAtt23_7_
-// }
-//
-//
-// long time3 = new Date().getTime();
-// log.info("after sql : " + time2 + "(" + (time2 - time) + ")");
-// }
-// });
-// TopiaQueryBuilderAddCriteriaOrRunQueryStep<Email> builderAddCriteriaOrRunQueryStep =
-// dao.forMailFolderEquals(folder)
-// .addNull(Email.PROPERTY_ARCHIVE_DATE)
-// .addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED);
-//
-// if (CollectionUtils.isNotEmpty(filter.getDemandStatus())) {
-// builderAddCriteriaOrRunQueryStep.addIn(Email.PROPERTY_DEMAND_STATUS, filter.getDemandStatus());
-// }
-// if (CollectionUtils.isNotEmpty(filter.getSenders())) {
-// builderAddCriteriaOrRunQueryStep.addIn(Email.PROPERTY_SENDER, filter.getSenders());
-// }
-//
-// if (Boolean.getBoolean("faxtomail.fullfetch")) {
-// result = builderAddCriteriaOrRunQueryStep
-// .addAllFetches(Email.PROPERTY_PRIORITY,
-// Email.PROPERTY_DEMAND_TYPE,
-// Email.PROPERTY_CLIENT,
-// Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
-// Email.PROPERTY_WAITING_STATE,
-// Email.PROPERTY_TAKEN_BY,
-// Email.PROPERTY_REPLIES,
-// Email.PROPERTY_ATTACHMENT
-// //Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER
-// ).findPage(page);
-// } else {
-// result = builderAddCriteriaOrRunQueryStep
-// .addAllFetches(Email.PROPERTY_PRIORITY,
-// Email.PROPERTY_DEMAND_TYPE,
-// Email.PROPERTY_CLIENT,
-// //Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
-// Email.PROPERTY_WAITING_STATE,
-// Email.PROPERTY_TAKEN_BY
-// //Email.PROPERTY_REPLIES,
-// //Email.PROPERTY_ATTACHMENT,
-// //Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER
-// ).findPage(page);
-//
-//
-// // manual fetch
-// for (Email email : result.getElements()) {
-// //Hibernate.initialize(email.getPriority());
-// //Hibernate.initialize(email.getDemandType());
-// //Hibernate.initialize(email.getClient());
-// List<RangeRow> rangeRows = email.getRangeRow();
-// if (rangeRows != null) {
-// for (RangeRow rangeRow : rangeRows) {
-// Hibernate.initialize(rangeRow.getRange());
-// }
-// }
-// //Hibernate.initialize(email.getWaitingState());
-// //Hibernate.initialize(email.getTakenBy());
-// Hibernate.initialize(email.getReplies());
-// Hibernate.initialize(email.getAttachment());
-// /*List<History> histories = email.getHistory();
-// if (histories != null) {
-// for (History history : histories) {
-// Hibernate.initialize(history.getFaxToMailUser());
-// }
-// }*/
-// }
-// }
-
} else {
List<Email> elements = Collections.emptyList();
result = PaginationResult.of(elements, 0, page);
1
0