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
August 2014
- 4 participants
- 141 discussions
r487 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util faxtomail-ui-web
by echatellier@users.forge.codelutin.com 07 Aug '14
by echatellier@users.forge.codelutin.com 07 Aug '14
07 Aug '14
Author: echatellier
Date: 2014-08-07 10:10:55 +0200 (Thu, 07 Aug 2014)
New Revision: 487
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/487
Log:
Fix lazy collections in search ui
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
trunk/faxtomail-ui-web/pom.xml
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-07 07:54:58 UTC (rev 486)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-07 08:10:55 UTC (rev 487)
@@ -64,6 +64,7 @@
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDField;
+import org.hibernate.Hibernate;
import org.nuiton.topia.persistence.TopiaEntities;
import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.util.beans.Binder;
@@ -525,7 +526,7 @@
@Override
public Email addToHistory(String emailId, HistoryType type, FaxToMailUser user, Date date, String... fields) {
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
- Email email = getEmailByTopiaId(emailDao, emailId);
+ Email email = getEmailById(emailId);
HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao();
History history = historyDao.create(History.PROPERTY_TYPE, type,
@@ -551,7 +552,7 @@
@Override
public Email takeEmail(String emailId, FaxToMailUser user) {
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
- Email email = getEmailByTopiaId(emailDao, emailId);
+ Email email = getEmailById(emailId);
email.setTakenBy(user);
HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao();
@@ -580,7 +581,7 @@
// get current lock on mail if any
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
MailLockTopiaDao mailLockDao = getPersistenceContext().getMailLockDao();
- Email email = getEmailByTopiaId(emailDao, emailId);
+ Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
MailLock mailLock = mailLockDao.forLockOnEquals(email).findUniqueOrNull();
// if no lock found, create new one
@@ -670,6 +671,11 @@
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
PaginationResult<Email> result = emailDao.search(emailFilter, readMailFolders, pagination);
+ // Fetch lazy field for list display
+ for (Email email : result.getElements()) {
+ fetchEmailData(email);
+ }
+
return result;
}
@@ -1029,7 +1035,7 @@
}
}
- protected void setField( PDDocument pdfDocument, String name, String value ) throws IOException {
+ protected void setField(PDDocument pdfDocument, String name, String value ) throws IOException {
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
PDField field = acroForm.getField( name );
@@ -1038,47 +1044,36 @@
} else if (log.isWarnEnabled()) {
log.warn("Can't find field " + name + " in pdf form");
}
- }
-
- protected Email getEmailByTopiaId(EmailTopiaDao emailDao, String emailId) {
- Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
- fetchEmailData(email);
- return email;
}
protected void fetchEmailData(Email email) {
if (email.getDemandType() != null) {
- for (MailField mailField : email.getDemandType().getFields()) {
- mailField.toString();
- }
+ Hibernate.initialize(email.getDemandType().getFields());
}
if (email.sizeRangeRow() > 0) {
for (RangeRow rangeRow : email.getRangeRow()) {
- if (rangeRow.getRange() != null) {
- rangeRow.getRange().getLabel();
- }
+ Hibernate.initialize(rangeRow.getRange());
}
}
if (email.sizeHistory() > 0) {
for (History history : email.getHistory()) {
history.getType();
- if (history.getFaxToMailUser() != null) {
- history.getFaxToMailUser().getTrigraph();
- }
+ Hibernate.initialize(history.getType());
+ Hibernate.initialize(history.getFaxToMailUser());
history.sizeFields();
}
}
email.sizeReplies();
email.sizeAttachment();
- email.getTakenBy();
- email.getClient();
- email.getDemandStatus();
+ Hibernate.initialize(email.getTakenBy());
+ Hibernate.initialize(email.getClient());
+ Hibernate.initialize(email.getDemandStatus());
if (email.getEmailGroup() != null) {
email.getEmailGroup().sizeEmail();
}
- email.getEtatAttente();
- email.getPriority();
+ Hibernate.initialize(email.getEtatAttente());
+ Hibernate.initialize(email.getPriority());
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-07 07:54:58 UTC (rev 486)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-07 08:10:55 UTC (rev 487)
@@ -111,7 +111,6 @@
@Override
public Component getTopestUI() {
- Component result;
ApplicationActionUI actionUI = getContext().getActionUI();
return actionUI;
}
@@ -245,7 +244,7 @@
final AbstractApplicationUIHandler handler = dialogContent.getHandler();
- if (handler instanceof org.nuiton.jaxx.application.swing.util.Cancelable) {
+ if (handler instanceof Cancelable) {
// add a auto-close action
JRootPane rootPane = result.getRootPane();
@@ -263,7 +262,6 @@
}
});
}
-
SwingUtil.center(getContext().getMainUI(), result);
result.setVisible(true);
}
@@ -308,7 +306,6 @@
});
}
- result.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
result.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
Modified: trunk/faxtomail-ui-web/pom.xml
===================================================================
--- trunk/faxtomail-ui-web/pom.xml 2014-08-07 07:54:58 UTC (rev 486)
+++ trunk/faxtomail-ui-web/pom.xml 2014-08-07 08:10:55 UTC (rev 487)
@@ -88,11 +88,6 @@
</dependency>
<dependency>
- <groupId>org.nuiton.jaxx</groupId>
- <artifactId>jaxx-application-api</artifactId>
- </dependency>
-
- <dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
1
0
r486 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing
by echatellier@users.forge.codelutin.com 07 Aug '14
by echatellier@users.forge.codelutin.com 07 Aug '14
07 Aug '14
Author: echatellier
Date: 2014-08-07 09:54:58 +0200 (Thu, 07 Aug 2014)
New Revision: 486
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/486
Log:
Fix message display
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-06 16:21:34 UTC (rev 485)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-07 07:54:58 UTC (rev 486)
@@ -39,6 +39,7 @@
import javax.swing.JOptionPane;
import com.franciaflex.faxtomail.services.service.InitFaxToMailServiceImpl;
+
import jaxx.runtime.swing.editor.bean.BeanDoubleList;
import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
import jaxx.runtime.swing.session.BeanDoubleListState;
@@ -58,6 +59,7 @@
import org.nuiton.i18n.I18n;
import org.nuiton.i18n.init.ClassPathI18nInitializer;
import org.nuiton.i18n.init.DefaultI18nInitializer;
+import org.nuiton.jaxx.application.ApplicationBusinessException;
import org.nuiton.jaxx.application.ApplicationConfiguration;
import org.nuiton.jaxx.application.ApplicationTechnicalException;
import org.nuiton.jaxx.application.swing.ApplicationUIContext;
@@ -391,7 +393,7 @@
// show login dialog
Status loginStatus = JXLoginPane.showLoginDialog(null, pane);
if (loginStatus == Status.CANCELLED) {
- throw new ApplicationTechnicalException("Authentication canceled");
+ throw new ApplicationBusinessException("Authentication canceled");
}
}
1
0
06 Aug '14
Author: kmorin
Date: 2014-08-06 18:21:34 +0200 (Wed, 06 Aug 2014)
New Revision: 485
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/485
Log:
integration des fetchs
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java
trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -99,10 +99,14 @@
@Override
public Configuration getConfiguration() {
ConfigurationTopiaDao dao = getPersistenceContext().getConfigurationDao();
- Configuration config = dao.forAll().findUniqueOrNull();
+ Configuration config = dao.forAll().addAllFetches(
+ Configuration.PROPERTY_SEARCH_DISPLAY_COLUMNS,
+ Configuration.PROPERTY_INVALID_FORM_DISABLED_ACTIONS
+ ).findUniqueOrNull();
if (config == null) {
config = new ConfigurationImpl();
}
+ config.sizeInvalidFormDisabledActions();
return config;
}
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -36,8 +36,7 @@
void transmitPendingDemandsToEdi();
-// PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
- List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
+ PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
List<MailFolder> getChildrenRecursively(MailFolder folder);
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -65,6 +65,7 @@
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDField;
import org.nuiton.topia.persistence.TopiaEntities;
+import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
import org.nuiton.util.pagination.PaginationParameter;
@@ -95,6 +96,7 @@
@Override
public Email getEmailById(String id) {
Email email = getPersistenceContext().getEmailDao().forTopiaIdEquals(id).findUnique();
+ fetchEmailData(email);
return email;
}
@@ -131,8 +133,12 @@
email.setClient(client);
if (attachments != null) {
- Collection<Attachment> currentAttachments = CollectionUtils.emptyIfNull(email.getAttachment());
- Map<String, Attachment> currentAttachmentIndex = new HashMap<>(Maps.uniqueIndex(currentAttachments, TopiaEntities.getTopiaIdFunction()));
+ AttachmentTopiaDao attachmentTopiaDao = getPersistenceContext().getAttachmentDao();
+ List<Attachment> currentAttachments = attachmentTopiaDao.forTopiaIdIn(email.getAttachmentTopiaIds()).findAll();
+ if (currentAttachments == null) {
+ currentAttachments = new ArrayList<>();
+ }
+ Map<String, Attachment> currentAttachmentIndex = new HashMap<>(Maps.uniqueIndex(currentAttachments, TopiaEntities.getTopiaIdFunction()));
AttachmentFileTopiaDao attachementFileTopiaDao = getPersistenceContext().getAttachmentFileDao();
for (Attachment attachment : attachments) {
@@ -147,7 +153,7 @@
// get session attachment from id
Attachment currentAttachment;
- if (StringUtils.isNoneBlank(attachment.getTopiaId())) {
+ if (StringUtils.isNotBlank(attachment.getTopiaId())) {
currentAttachment = currentAttachmentIndex.remove(attachment.getTopiaId());
} else {
currentAttachment = new AttachmentImpl();
@@ -196,14 +202,16 @@
if (!currentAttachment.isPersisted()) {
// persist using cascade
- email.addAttachment(currentAttachment);
+ currentAttachments.add(currentAttachment);
}
}
// delete not found attachments
for (Attachment attachment : currentAttachmentIndex.values()) {
- email.removeAttachment(attachment);
+ currentAttachments.remove(attachment);
}
+
+ email.setAttachment(currentAttachments);
}
if (email.getRangeRow() != null) {
@@ -461,11 +469,11 @@
* @return paginated results
*/
@Override
-// public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
- public List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
+ public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
+ MailFolderTopiaDao mailFolderTopiaDao = getPersistenceContext().getMailFolderDao();
// check if user can read current folder
- MailFolder loopFolder = folder;
+ MailFolder loopFolder = mailFolderTopiaDao.forTopiaIdEquals(folder.getTopiaId()).findUnique();
boolean readable = false;
while (!readable && loopFolder != null) {
// user
@@ -477,68 +485,21 @@
}
// perform request or not depending on rigths
- List<Email> result;
+ PaginationResult<Email> result;
if (readable) {
EmailTopiaDao dao = getPersistenceContext().getEmailDao();
result = dao.forMailFolderEquals(folder)
.addNull(Email.PROPERTY_ARCHIVE_DATE)
.addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED)
- .addAllFetches(
- Email.PROPERTY_ETAT_ATTENTE,
- Email.PROPERTY_CLIENT,
- Email.PROPERTY_PRIORITY,
- Email.PROPERTY_TAKEN_BY,
-// Email.PROPERTY_DEMAND_STATUS,
-// Email.PROPERTY_DEMAND_TYPE,
- Email.PROPERTY_DEMAND_TYPE + "." + DemandType.PROPERTY_FIELDS,
- Email.PROPERTY_RANGE_ROW,
- Email.PROPERTY_HISTORY,
- Email.PROPERTY_REPLIES,
- Email.PROPERTY_EMAIL_GROUP
- )
-// .findPage(page);
- .findAll();
+ .findPage(page);
+
//FIXME kmorin 20140805 fetch
- for (Email email : result) {
- if (email.getDemandType() != null) {
- email.getDemandType().getFields();
- email.getDemandType().sizeFields();
- }
-// if (email.getRangeRow() != null) {
-// for (RangeRow rangeRow : email.getRangeRow()) {
-// rangeRow.getRange();
-// }
-// }
-// if (email.getAttachment() != null) {
-// for (Attachment attachment : email.getAttachment()) {
-// attachment.getEditedFile();
-// attachment.getOriginalFile();
-// }
-// }
-// if (email.getHistory() != null) {
-// for (History history : email.getHistory()) {
-// history.getType();
-// history.getFaxToMailUser();
-// }
-// }
-// email.getReplies();
-// email.sizeReplies();
-// email.getRepliesTopiaIds();
-// email.getTakenBy();
-// email.getClient();
-// email.getDemandStatus();
-// if (email.getEmailGroup() != null) {
-// email.getEmailGroup().getEmail();
-// email.getEmailGroup().sizeEmail();
-// email.getEmailGroup().getEmailTopiaIds();
-// }
-// email.getEtatAttente();
-// email.getPriority();
+ for (Email email : result.getElements()) {
+ fetchEmailData(email);
}
} else {
List<Email> elements = Collections.emptyList();
-// result = PaginationResult.of(elements, 0, page);
- result = new ArrayList<>();
+ result = PaginationResult.of(elements, 0, page);
}
return result;
}
@@ -564,7 +525,7 @@
@Override
public Email addToHistory(String emailId, HistoryType type, FaxToMailUser user, Date date, String... fields) {
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
- Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
+ Email email = getEmailByTopiaId(emailDao, emailId);
HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao();
History history = historyDao.create(History.PROPERTY_TYPE, type,
@@ -590,7 +551,7 @@
@Override
public Email takeEmail(String emailId, FaxToMailUser user) {
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
- Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
+ Email email = getEmailByTopiaId(emailDao, emailId);
email.setTakenBy(user);
HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao();
@@ -619,7 +580,7 @@
// get current lock on mail if any
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
MailLockTopiaDao mailLockDao = getPersistenceContext().getMailLockDao();
- Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
+ Email email = getEmailByTopiaId(emailDao, emailId);
MailLock mailLock = mailLockDao.forLockOnEquals(email).findUniqueOrNull();
// if no lock found, create new one
@@ -884,7 +845,11 @@
public AttachmentFile getAttachmentFile(String attachmentId, boolean original) {
AttachmentTopiaDao dao = getPersistenceContext().getAttachmentDao();
Attachment attachment = dao.forTopiaIdEquals(attachmentId).findUnique();
- return original ? attachment.getOriginalFile() : attachment.getEditedFile();
+ AttachmentFile result = original ? attachment.getOriginalFile() : attachment.getEditedFile();
+ if (result != null) {
+ result.getFilename();
+ }
+ return result;
}
@@ -1074,4 +1039,46 @@
log.warn("Can't find field " + name + " in pdf form");
}
}
+
+ protected Email getEmailByTopiaId(EmailTopiaDao emailDao, String emailId) {
+ Email email = emailDao.forTopiaIdEquals(emailId).findUnique();
+ fetchEmailData(email);
+ return email;
+ }
+
+ protected void fetchEmailData(Email email) {
+ if (email.getDemandType() != null) {
+ for (MailField mailField : email.getDemandType().getFields()) {
+ mailField.toString();
+ }
+ }
+ if (email.sizeRangeRow() > 0) {
+ for (RangeRow rangeRow : email.getRangeRow()) {
+ if (rangeRow.getRange() != null) {
+ rangeRow.getRange().getLabel();
+ }
+ }
+ }
+ if (email.sizeHistory() > 0) {
+ for (History history : email.getHistory()) {
+ history.getType();
+ if (history.getFaxToMailUser() != null) {
+ history.getFaxToMailUser().getTrigraph();
+ }
+ history.sizeFields();
+ }
+ }
+ email.sizeReplies();
+ email.sizeAttachment();
+
+ email.getTakenBy();
+ email.getClient();
+ email.getDemandStatus();
+
+ if (email.getEmailGroup() != null) {
+ email.getEmailGroup().sizeEmail();
+ }
+ email.getEtatAttente();
+ email.getPriority();
+ }
}
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 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -34,6 +34,7 @@
import com.franciaflex.faxtomail.persistence.entities.DemandType;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -103,16 +104,8 @@
@Override
public List<MailFolder> getRootMailFoldersWithReadingRights(FaxToMailUser user) {
-// List<MailFolder> rootFolders = getRootMailFolders();
-// List<MailFolder> result = new ArrayList<>();
-//
-// for (MailFolder folder : rootFolders) {
-// findReadableFolders(folder, user, result);
-// }
-
MailFolderTopiaDao dao = getPersistenceContext().getMailFolderDao();
List<MailFolder> result = new ArrayList<>(dao.getReadableFolders(user));
- //FIXME kmorin 20140805 fetch
for (MailFolder f : result) {
findReadableFolders(f);
}
@@ -120,20 +113,28 @@
}
protected void findReadableFolders(MailFolder folder) {
- //FIXME kmorin 20140805 fetch
- folder.getFolderTableColumns();
folder.sizeFolderTableColumns();
- folder.getReadRightGroups();
- folder.getReadRightGroupsTopiaIds();
- folder.getReadRightUsers();
- folder.getReadRightUsersTopiaIds();
- folder.getEtatAttentes();
- folder.sizeEtatAttentes();
- folder.getEtatAttentesTopiaIds();
- if (folder.getDemandTypes() != null) {
+ //TODO kmorin 20140806 put rights for user in impl
+ folder.sizeWriteRightGroups();
+ folder.sizeWriteRightUsers();
+ folder.sizeRanges();
+ folder.sizeReplyAddresses();
+ folder.sizeReplyDomains();
+
+ if (folder.sizeEtatAttentes() > 0) {
+ for (EtatAttente etatAttente : folder.getEtatAttentes()) {
+ etatAttente.sizeInvalidFormDisabledActions();
+ etatAttente.sizeValidFormDisabledActions();
+ }
+ }
+
+ if (folder.sizeDemandTypes() > 0) {
for (DemandType demandType : folder.getDemandTypes()) {
- demandType.getFields();
- demandType.sizeFields();
+ if (demandType.sizeFields() > 0) {
+ for (MailField mailField : demandType.getFields()) {
+ mailField.toString();
+ }
+ }
}
}
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -71,7 +71,7 @@
@Override
public List<DemandType> getAllDemandType() {
DemandTypeTopiaDao dao = getPersistenceContext().getDemandTypeDao();
- return dao.findAll();
+ return dao.forAll().addAllFetches(DemandType.PROPERTY_FIELDS).findAll();
}
@Override
Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java
===================================================================
--- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -82,6 +82,7 @@
*
* @throws IOException
*/
+ @Override
public void initTestData() throws IOException {
if (log.isDebugEnabled()) {
log.debug("Init test data");
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -85,11 +85,9 @@
MailFolder folder = model.getSelectedFolder();
FaxToMailUser currentUser = getContext().getCurrentUser();
-// PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService()
-// .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
-// List<Email> emails = paginationResult.getElements();
- List<Email> emails = getContext().newServiceContext().getEmailService()
- .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
+ PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService()
+ .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
+ List<Email> emails = paginationResult.getElements();
if (log.isDebugEnabled()) {
log.debug(emails.size() + " emails in folder " + folder.getName());
}
@@ -97,7 +95,7 @@
List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>();
for (Email email : emails) {
DemandeUIModel demand = new DemandeUIModel();
- demand.fromEntity(email, false);
+ demand.fromEntity(email);
// on ajoute toutes les lignes de rangeRow,
// qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -64,6 +64,7 @@
try {
FaxToMailServiceContext serviceContext = getContext().newServiceContext();
serviceContext.getEmailService().lockEmail(currentEmail.getTopiaId(), currentUser);
+
} catch (AlreadyLockedMailException ex) {
result = false;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentModelAware.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -28,6 +28,7 @@
import java.io.Serializable;
import java.util.Collection;
+import java.util.List;
/**
* To place on model wich supports attachments.
@@ -44,7 +45,7 @@
// Integer getObjectId();
- Collection<Attachment> getAttachment();
+ List<Attachment> getAttachment();
void addAllAttachment(Collection<Attachment> attachments);
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -97,11 +97,11 @@
protected final Email editObject = new EmailImpl();
- protected final Collection<Attachment> attachments = new ArrayList<Attachment>();
+ protected final List<Attachment> attachments = new ArrayList<Attachment>();
- protected final Collection<DemandeUIModel> groupedDemandes = new ArrayList<DemandeUIModel>();
+ protected final List<DemandeUIModel> groupedDemandes = new ArrayList<DemandeUIModel>();
- protected final Collection<RangeRowModel> validRangeRowModels = new ArrayList<RangeRowModel>();
+ protected final List<RangeRowModel> validRangeRowModels = new ArrayList<RangeRowModel>();
protected History firstOpeningHistory;
@@ -187,20 +187,16 @@
}
- @Override
- public void fromEntity(Email entity) {
- fromEntity(entity, true);
- }
-
/**
* Surcharge pour dupliquer correctement les pieces jointes sans charger le contenu binaire en mémoire.
*/
- public void fromEntity(Email entity, boolean full) {
- //super.fromEntity(entity);
- fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT);
+ @Override
+ public void fromEntity(Email entity) {
+// super.fromEntity(entity);
+ fromBeanBinder.copyExcluding(entity, this, Email.PROPERTY_ATTACHMENT, Email.PROPERTY_MAIL_FOLDER);
// On ne copie pas entierrement les attachments pour ne pas force le chargement du contenu binaire du fichier en mémoire.
- Collection<Attachment> attachmentCopy = new ArrayList<Attachment>();
+ List<Attachment> attachmentCopy = new ArrayList<Attachment>();
if (entity.getAttachment() != null) {
for (Attachment attachment : entity.getAttachment()) {
Attachment clone = new AttachmentImpl();
@@ -481,7 +477,7 @@
firePropertyChanged(Email.PROPERTY_HISTORY, null, history);
}
- public Collection<History> getHistory() {
+ public List<History> getHistory() {
return editObject.getHistory();
}
@@ -597,7 +593,7 @@
}
@Override
- public Collection<Attachment> getAttachment() {
+ public List<Attachment> getAttachment() {
return new ArrayList<Attachment>(attachments);
}
@@ -622,7 +618,7 @@
firePropertyChange(Email.PROPERTY_ATTACHMENT, oldValue, getAttachment());
}
- public void setAttachment(Collection<Attachment> attachment) {
+ public void setAttachment(List<Attachment> attachment) {
Object oldValue = new ArrayList<Attachment>(getAttachment());
attachments.clear();
if (attachment != null) {
@@ -631,7 +627,7 @@
firePropertyChange(Email.PROPERTY_ATTACHMENT, oldValue, getAttachment());
}
- public Collection<RangeRow> getRangeRow() {
+ public List<RangeRow> getRangeRow() {
return editObject.getRangeRow();
}
@@ -779,7 +775,7 @@
}
- public Collection<DemandeUIModel> getGroupedDemandes() {
+ public List<DemandeUIModel> getGroupedDemandes() {
return groupedDemandes;
}
@@ -817,7 +813,7 @@
firePropertyChange(Email.PROPERTY_REPLIES, null, getReplies());
}
- public Collection<Reply> getReplies() {
+ public List<Reply> getReplies() {
return editObject.getReplies();
}
@@ -826,11 +822,11 @@
}
- public Collection<RangeRowModel> getValidRangeRowModels() {
+ public List<RangeRowModel> getValidRangeRowModels() {
return validRangeRowModels;
}
- public void setValidRangeRowModels(Collection<RangeRowModel> validRangeRowModels) {
+ public void setValidRangeRowModels(List<RangeRowModel> validRangeRowModels) {
Object oldValue = new ArrayList<RangeRowModel>(validRangeRowModels);
this.validRangeRowModels.clear();
this.validRangeRowModels.addAll(validRangeRowModels);
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -98,7 +98,12 @@
JXList list = ui.getHistories();
list.setCellRenderer(new HistoryListCellRenderer());
JaxxDefaultListModel listModel = new JaxxDefaultListModel<History>();
- final List<History> histories = new ArrayList<History>(getModel().getHistory());
+ final List<History> histories;
+ if (getModel().getHistory() != null) {
+ histories = new ArrayList<History>(getModel().getHistory());
+ } else {
+ histories = new ArrayList<History>();
+ }
//sort histories by modification date
Collections.sort(histories, Ordering.natural().onResultOf(new Function<History, Comparable>() {
@Override
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 16:17:40 UTC (rev 484)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 16:21:34 UTC (rev 485)
@@ -267,8 +267,8 @@
DemandeUIModel selectedEmail = tableModel.getEntry(rowIndex);
onDoubleClickOnDemande(selectedEmail);
FaxToMailUIContext context = getContext();
-
- // reset transaction
+
+ //TODO kmorin 02140806 put in action
FaxToMailServiceContext serviceContext = context.newServiceContext();
Email email = serviceContext.getEmailService().addToHistory(selectedEmail.getTopiaId(),
HistoryType.OPENING,
1
0
r484 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing: content content/demande content/pdfeditor content/print content/reply content/search content/transmit util
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 18:17:40 +0200 (Wed, 06 Aug 2014)
New Revision: 484
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/484
Log:
Remove duplicated Cancelable and CloseableUI
Removed:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Cancelable.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseableUI.java
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -29,7 +29,7 @@
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUI;
import com.franciaflex.faxtomail.ui.swing.content.search.SearchUI;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI;
import com.franciaflex.faxtomail.ui.swing.util.RemoveablePropertyChangeListener;
import com.google.common.base.Preconditions;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -92,7 +92,7 @@
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.AbstractFaxToMailDemandListHandler;
-import com.franciaflex.faxtomail.ui.swing.util.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.franciaflex.faxtomail.ui.swing.util.FolderTreeNode;
import com.google.common.collect.HashMultimap;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -81,7 +81,7 @@
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.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
/**
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-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -39,7 +39,7 @@
import com.franciaflex.faxtomail.ui.swing.content.search.SearchToGroupUI;
import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -70,7 +70,7 @@
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.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.franciaflex.faxtomail.ui.swing.util.JImagePanel;
import com.google.common.collect.HashMultimap;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -45,7 +45,7 @@
import com.franciaflex.faxtomail.services.service.EmailService;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.Cancelable;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
/**
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -76,10 +76,9 @@
import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
-import com.franciaflex.faxtomail.persistence.entities.Reply;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.Cancelable;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.google.common.collect.Lists;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -35,7 +35,7 @@
import com.franciaflex.faxtomail.ui.swing.actions.SearchToGroupAction;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler;
-import com.franciaflex.faxtomail.ui.swing.util.Cancelable;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -53,7 +53,7 @@
import com.franciaflex.faxtomail.ui.swing.actions.ShowDemandeListAction;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler;
-import com.franciaflex.faxtomail.ui.swing.util.CloseableUI;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import com.franciaflex.faxtomail.ui.swing.util.DemandeTableModel;
/**
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -29,7 +29,7 @@
import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import com.franciaflex.faxtomail.ui.swing.util.Cancelable;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
import com.franciaflex.faxtomail.ui.swing.util.FolderTreeNode;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -60,6 +60,7 @@
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.editor.bean.BeanUIUtil;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -287,8 +288,6 @@
result.add((Component) dialogContent);
result.setResizable(true);
- result.setSize(dim);
-
final AbstractApplicationUIHandler handler = dialogContent.getHandler();
if (handler instanceof Cancelable) {
Deleted: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Cancelable.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Cancelable.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/Cancelable.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -1,33 +0,0 @@
-package com.franciaflex.faxtomail.ui.swing.util;
-
-/*
- * #%L
- * FaxToMail :: UI
- * %%
- * Copyright (C) 2014 Franciaflex
- * %%
- * 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%
- */
-
-/**
- * To cancel contract.
- *
- * @author kmorin - morin(a)codelutin.com
- */
-public interface Cancelable {
-
- void cancel();
-}
Deleted: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseableUI.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseableUI.java 2014-08-06 15:59:43 UTC (rev 483)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/CloseableUI.java 2014-08-06 16:17:40 UTC (rev 484)
@@ -1,39 +0,0 @@
-package com.franciaflex.faxtomail.ui.swing.util;
-
-/*
- * #%L
- * FaxToMail :: UI
- * %%
- * Copyright (C) 2014 Franciaflex
- * %%
- * 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%
- */
-
-/**
- * Contract to close an ui.
- *
- * @author kmorin - morin(a)codelutin.com
- */
-public interface CloseableUI {
-
- /**
- * Try to quit UI.
- *
- * @return {@code true} if ui is safe to quit, {@code false} otherwise
- * (means must stay on it).
- */
- boolean quitUI();
-}
1
0
r483 - in trunk: faxtomail-persistence/src/main/xmi faxtomail-service/src/main/java/com/franciaflex/faxtomail/services faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 17:59:43 +0200 (Wed, 06 Aug 2014)
New Revision: 483
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/483
Log:
refs #5538: Indiquer pour chaque compte email si c'est une boite mail ou r?\195?\169ception fax.
Modified:
trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java
trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java
trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp
Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties
===================================================================
--- trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-08-06 15:28:53 UTC (rev 482)
+++ trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-08-06 15:59:43 UTC (rev 483)
@@ -84,18 +84,6 @@
# Email
com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.notNull=true
com.franciaflex.faxtomail.persistence.entities.Email.attribute.originalEmail.tagvalue.notNull=true
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.rangeRow.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.attachment.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.history.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.client.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandType.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandStatus.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.priority.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.etatAttente.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.emailGroup.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.replies.tagvalue.lazy=false
-#com.franciaflex.faxtomail.persistence.entities.Email.attribute.takenBy.tagvalue.lazy=false
# History
com.franciaflex.faxtomail.persistence.entities.History.attribute.type.tagvalue.notNull=true
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java 2014-08-06 15:28:53 UTC (rev 482)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java 2014-08-06 15:59:43 UTC (rev 483)
@@ -34,19 +34,13 @@
import com.franciaflex.faxtomail.persistence.entities.FaxToMailTopiaApplicationContext;
import com.franciaflex.faxtomail.services.service.ClientService;
import com.franciaflex.faxtomail.services.service.ConfigurationService;
-import com.franciaflex.faxtomail.services.service.ConfigurationServiceImpl;
import com.franciaflex.faxtomail.services.service.EmailService;
-import com.franciaflex.faxtomail.services.service.EmailServiceImpl;
import com.franciaflex.faxtomail.services.service.InitFaxToMailService;
import com.franciaflex.faxtomail.services.service.LdapServiceImpl;
import com.franciaflex.faxtomail.services.service.MailFolderService;
-import com.franciaflex.faxtomail.services.service.MailFolderServiceImpl;
import com.franciaflex.faxtomail.services.service.ReferentielService;
-import com.franciaflex.faxtomail.services.service.ReferentielServiceImpl;
import com.franciaflex.faxtomail.services.service.UserService;
-import com.franciaflex.faxtomail.services.service.UserServiceImpl;
import com.franciaflex.faxtomail.services.service.ValidationService;
-import com.franciaflex.faxtomail.services.service.ValidationServiceImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -79,6 +73,10 @@
public static FaxToMailServiceContext newDirectServiceContext(FaxToMailTopiaApplicationContext applicationContext) {
return new FaxToMailServiceContext(applicationContext, new FaxToMailDefaultServiceFactory());
}
+
+ public static FaxToMailServiceContext newDirectServiceContext(FaxToMailTopiaPersistenceContext persistenceContext) {
+ return new FaxToMailServiceContext(persistenceContext, new FaxToMailDefaultServiceFactory());
+ }
private FaxToMailServiceContext(FaxToMailTopiaApplicationContext topiaApplicationContext, FaxToMailServiceFactory serviceFactory) {
Preconditions.checkNotNull(topiaApplicationContext, "Cannot create an ServiceContext without an ApplicationContext");
@@ -88,6 +86,12 @@
this.serviceFactory.setServiceContext(this);
}
+ private FaxToMailServiceContext(FaxToMailTopiaPersistenceContext persistenceContext, FaxToMailServiceFactory serviceFactory) {
+ this.persistenceContext = persistenceContext;
+ this.serviceFactory = serviceFactory;
+ this.serviceFactory.setServiceContext(this);
+ }
+
private FaxToMailServiceContext(FaxToMailServiceContext delegateServiceContext, FaxToMailServiceFactory serviceFactory) {
this.delegateServiceContext = delegateServiceContext;
this.serviceFactory = serviceFactory;
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-08-06 15:28:53 UTC (rev 482)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-08-06 15:59:43 UTC (rev 483)
@@ -26,11 +26,6 @@
import static org.nuiton.i18n.I18n.t;
-import com.franciaflex.faxtomail.services.DecoratorServiceImpl;
-import com.franciaflex.faxtomail.services.service.ClientServiceImpl;
-import com.franciaflex.faxtomail.services.service.ConfigurationServiceImpl;
-import com.franciaflex.faxtomail.services.service.EmailServiceImpl;
-import com.franciaflex.faxtomail.services.service.MailFolderServiceImpl;
import gui.ava.html.Html2Image;
import java.io.ByteArrayOutputStream;
@@ -256,6 +251,7 @@
for (int i = 0 ; i < count ; i++) {
try {
Email email = new EmailImpl();
+ email.setFax(emailAccount.isFaxAccountType());
int messageNumber = count - i;
Message message = folder.getMessage(messageNumber);
Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-08-06 15:28:53 UTC (rev 482)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-08-06 15:59:43 UTC (rev 483)
@@ -1066,8 +1066,8 @@
<td>{{emailAccount.port}}</td>
<td>{{emailAccount.login}}</td>
<td>
- <span class="fa fa-fax" tooltip="Compte email ne recevant que des fax" ng-if="emailAccount.faxAccountType"></span>
- <span class="fa fa-reply" tooltip="Le rejet des email est autorisé" ng-if="emailAccount.rejectAllowed"></span>
+ <span class="fa fa-fax" tooltip="Compte email ne recoit que des fax" ng-if="emailAccount.faxAccountType"></span>
+ <span class="fa fa-reply" tooltip="Le rejet des email est autorisé pour ce compte" ng-if="emailAccount.rejectAllowed"></span>
</td>
<td>
<a class="btn btn-danger btn-xs" ng-click="removeEmailAccount($index)">
@@ -1121,9 +1121,9 @@
<div class="form-group col-xs-5">
<label class="control-label">Rejet:</label>
<div class="checkbox">
- <label tooltip="{{newAccount.faxAccountType ? 'Les fax ne peuvent pas être rejeté' : 'Suivant la configuration des filtres de routage, les mails de client inconnus peuvent être rejeté'}}">
+ <label>
<input id="emailRejectAllowed" type="checkbox" ng-value="true"
- ng-model="newAccount.rejectAllowed" ng-disabled="newAccount.faxAccountType">
+ ng-model="newAccount.rejectAllowed">
autoriser les mails de ce compte à pouvoir être rejeté
</label>
</div>
1
0
r482 - trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 17:28:53 +0200 (Wed, 06 Aug 2014)
New Revision: 482
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/482
Log:
Fix non used and non closed transaction
Modified:
trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java 2014-08-06 14:09:16 UTC (rev 481)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/FaxToMailApplicationContext.java 2014-08-06 15:28:53 UTC (rev 482)
@@ -30,7 +30,6 @@
import javax.servlet.ServletContext;
-import com.franciaflex.faxtomail.services.service.InitFaxToMailServiceImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.LogManager;
@@ -73,7 +72,7 @@
// FIXME AThimel 05/08/14 Check if newDirectServiceContext or newServiceContext must be used
FaxToMailServiceContext newServiceContext =
- FaxToMailServiceContext.newDirectServiceContext(topiaApplicationContext);
+ FaxToMailServiceContext.newDirectServiceContext(persistenceContext);
FaxToMailConfiguration applicationConfig = getApplicationConfig();
1
0
r481 - in trunk: . faxtomail-persistence/src/main/java/com/franciaflex/faxtomail faxtomail-persistence/src/main/xmi faxtomail-service faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/migration faxtomail-service/src/main/resources/db/migration
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 16:09:16 +0200 (Wed, 06 Aug 2014)
New Revision: 481
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/481
Log:
Add indexed collection migration
Added:
trunk/faxtomail-service/src/main/resources/db/migration/V1_0_0_480__remove_faxtomailusergroup_loop_association_and_add_idx.sql
Modified:
trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java
trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties
trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo
trunk/faxtomail-service/pom.xml
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/migration/FaxtomailFlywayMigrationService.java
trunk/pom.xml
Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java
===================================================================
--- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-08-06 12:24:06 UTC (rev 480)
+++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-08-06 14:09:16 UTC (rev 481)
@@ -202,10 +202,17 @@
return isDevMode;
}
+ /**
+ * Get sub properties containing all options starting with "hibernate" and "topia".
+ *
+ * @return new sub map
+ */
public Map<String, String> getTopiaProperties() {
Map<String, String> jpaParameters = Maps.newHashMap();
Properties hibernateProperties = applicationConfig.getOptionStartsWith("hibernate");
jpaParameters.putAll((Map) hibernateProperties);
+ Properties topiaProperties = applicationConfig.getOptionStartsWith("topia");
+ jpaParameters.putAll((Map) topiaProperties);
return jpaParameters;
}
Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties
===================================================================
--- trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-08-06 12:24:06 UTC (rev 480)
+++ trunk/faxtomail-persistence/src/main/xmi/faxtomail.properties 2014-08-06 14:09:16 UTC (rev 481)
@@ -84,18 +84,18 @@
# Email
com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.notNull=true
com.franciaflex.faxtomail.persistence.entities.Email.attribute.originalEmail.tagvalue.notNull=true
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.rangeRow.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.attachment.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.history.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.client.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandType.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandStatus.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.priority.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.etatAttente.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.emailGroup.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.replies.tagvalue.lazy=false
-com.franciaflex.faxtomail.persistence.entities.Email.attribute.takenBy.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.rangeRow.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.attachment.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.history.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.client.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandType.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.demandStatus.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.mailFolder.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.priority.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.etatAttente.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.emailGroup.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.replies.tagvalue.lazy=false
+#com.franciaflex.faxtomail.persistence.entities.Email.attribute.takenBy.tagvalue.lazy=false
# History
com.franciaflex.faxtomail.persistence.entities.History.attribute.type.tagvalue.notNull=true
Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo
===================================================================
(Binary files differ)
Modified: trunk/faxtomail-service/pom.xml
===================================================================
--- trunk/faxtomail-service/pom.xml 2014-08-06 12:24:06 UTC (rev 480)
+++ trunk/faxtomail-service/pom.xml 2014-08-06 14:09:16 UTC (rev 481)
@@ -57,6 +57,11 @@
<groupId>org.nuiton.topia</groupId>
<artifactId>topia-service-flyway</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.flywaydb</groupId>
+ <artifactId>flyway-core</artifactId>
+ </dependency>
<dependency>
<groupId>org.hibernate</groupId>
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/migration/FaxtomailFlywayMigrationService.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/migration/FaxtomailFlywayMigrationService.java 2014-08-06 12:24:06 UTC (rev 480)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/migration/FaxtomailFlywayMigrationService.java 2014-08-06 14:09:16 UTC (rev 481)
@@ -51,12 +51,19 @@
placeholders.put("timestampType", "datetime2");
placeholders.put("integerType", "bigint");
placeholders.put("booleanType", "bit");
- } else {
-
- // types for postgresql and h2
+ placeholders.put("indexType", "integer");
+ } else if (StringUtils.startsWith(dialect, "org.hibernate.dialect.PostgreSQL")) {
+ // type for postgres
placeholders.put("timestampType", "timestamp");
placeholders.put("integerType", "int8");
placeholders.put("booleanType", "boolean");
+ placeholders.put("indexType", "int4");
+ } else {
+ // types for h2
+ placeholders.put("timestampType", "timestamp");
+ placeholders.put("integerType", "bigint");
+ placeholders.put("booleanType", "boolean");
+ placeholders.put("indexType", "integer");
}
flyway.setPlaceholders(placeholders);
Added: trunk/faxtomail-service/src/main/resources/db/migration/V1_0_0_480__remove_faxtomailusergroup_loop_association_and_add_idx.sql
===================================================================
--- trunk/faxtomail-service/src/main/resources/db/migration/V1_0_0_480__remove_faxtomailusergroup_loop_association_and_add_idx.sql (rev 0)
+++ trunk/faxtomail-service/src/main/resources/db/migration/V1_0_0_480__remove_faxtomailusergroup_loop_association_and_add_idx.sql 2014-08-06 14:09:16 UTC (rev 481)
@@ -0,0 +1,39 @@
+
+-- remove unused association
+ALTER TABLE faxtomailusergroup DROP COLUMN faxtomailusergroup;
+
+-- add column faxAccountType on emailAccount
+ALTER TABLE emailAccount add column faxAccountType ${booleanType};
+update emailAccount set faxAccountType = 'f';
+
+-- add email_idx on attachment
+ALTER TABLE attachment ADD COLUMN email_idx ${indexType};
+
+UPDATE attachment SET email_idx = (
+ SELECT COUNT(topiaid) FROM attachment sub
+ WHERE sub.email = attachment.email AND (sub.topiacreatedate || sub.topiaid) < (attachment.topiacreatedate || attachment.topiaid)
+);
+
+-- add email_idx on history
+ALTER TABLE history ADD COLUMN email_idx ${indexType};
+
+UPDATE history SET email_idx = (
+ SELECT COUNT(topiaid) FROM history sub
+ WHERE sub.email = history.email AND (sub.topiacreatedate || sub.topiaid) < (history.topiacreatedate || history.topiaid)
+);
+
+-- add email_idx on rangeRow
+ALTER TABLE rangeRow ADD COLUMN email_idx ${indexType};
+
+UPDATE rangeRow SET email_idx = (
+ SELECT COUNT(topiaid) FROM rangeRow sub
+ WHERE sub.email = rangeRow.email AND (sub.topiacreatedate || sub.topiaid) < (rangeRow.topiacreatedate || rangeRow.topiaid)
+);
+
+-- add email_idx on reply
+ALTER TABLE reply ADD COLUMN email_idx ${indexType};
+
+UPDATE reply SET email_idx = (
+ SELECT COUNT(topiaid) FROM reply sub
+ WHERE sub.email = reply.email AND (sub.topiacreatedate || sub.topiaid) < (reply.topiacreatedate || reply.topiaid)
+);
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-08-06 12:24:06 UTC (rev 480)
+++ trunk/pom.xml 2014-08-06 14:09:16 UTC (rev 481)
@@ -203,6 +203,12 @@
<artifactId>topia-service-flyway</artifactId>
<version>${topiaVersion}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.flywaydb</groupId>
+ <artifactId>flyway-core</artifactId>
+ <version>3.0</version>
+ </dependency>
<dependency>
<groupId>org.hibernate</groupId>
1
0
06 Aug '14
Author: kmorin
Date: 2014-08-06 14:24:06 +0200 (Wed, 06 Aug 2014)
New Revision: 480
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/480
Log:
integration des fetchs
Modified:
trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java
trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java
trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java
trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java
Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java
===================================================================
--- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailFolderTopiaDao.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -24,6 +24,14 @@
* #L%
*/
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+
public class MailFolderTopiaDao extends AbstractMailFolderTopiaDao<MailFolder> {
@Override
@@ -49,4 +57,13 @@
}
+ public Collection<MailFolder> getReadableFolders(FaxToMailUser user) {
+ String query = newFromClause("mf") + " where :user in elements(mf.readRightUsers) or exists (from mf.readRightGroups g where g in (:groups))";
+ HashMap<String, Object> map = Maps.newHashMap();
+ map.put("user", user);
+ map.put("groups", user.getUserGroups());
+ Collection<MailFolder> folders = findAll(query, map);
+ return folders;
+ }
+
} //MailFolderTopiaDao
Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo
===================================================================
(Binary files differ)
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -36,7 +36,8 @@
void transmitPendingDemandsToEdi();
- PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
+// PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
+ List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page);
List<MailFolder> getChildrenRecursively(MailFolder folder);
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -461,7 +461,8 @@
* @return paginated results
*/
@Override
- public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
+// public PaginationResult<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
+ public List<Email> getEmailForFolder(MailFolder folder, FaxToMailUser currentUser, PaginationParameter page) {
// check if user can read current folder
MailFolder loopFolder = folder;
@@ -476,16 +477,68 @@
}
// perform request or not depending on rigths
- PaginationResult<Email> result;
+ List<Email> result;
if (readable) {
EmailTopiaDao dao = getPersistenceContext().getEmailDao();
result = dao.forMailFolderEquals(folder)
.addNull(Email.PROPERTY_ARCHIVE_DATE)
.addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED)
- .findPage(page);
+ .addAllFetches(
+ Email.PROPERTY_ETAT_ATTENTE,
+ Email.PROPERTY_CLIENT,
+ Email.PROPERTY_PRIORITY,
+ Email.PROPERTY_TAKEN_BY,
+// Email.PROPERTY_DEMAND_STATUS,
+// Email.PROPERTY_DEMAND_TYPE,
+ Email.PROPERTY_DEMAND_TYPE + "." + DemandType.PROPERTY_FIELDS,
+ Email.PROPERTY_RANGE_ROW,
+ Email.PROPERTY_HISTORY,
+ Email.PROPERTY_REPLIES,
+ Email.PROPERTY_EMAIL_GROUP
+ )
+// .findPage(page);
+ .findAll();
+ //FIXME kmorin 20140805 fetch
+ for (Email email : result) {
+ if (email.getDemandType() != null) {
+ email.getDemandType().getFields();
+ email.getDemandType().sizeFields();
+ }
+// if (email.getRangeRow() != null) {
+// for (RangeRow rangeRow : email.getRangeRow()) {
+// rangeRow.getRange();
+// }
+// }
+// if (email.getAttachment() != null) {
+// for (Attachment attachment : email.getAttachment()) {
+// attachment.getEditedFile();
+// attachment.getOriginalFile();
+// }
+// }
+// if (email.getHistory() != null) {
+// for (History history : email.getHistory()) {
+// history.getType();
+// history.getFaxToMailUser();
+// }
+// }
+// email.getReplies();
+// email.sizeReplies();
+// email.getRepliesTopiaIds();
+// email.getTakenBy();
+// email.getClient();
+// email.getDemandStatus();
+// if (email.getEmailGroup() != null) {
+// email.getEmailGroup().getEmail();
+// email.getEmailGroup().sizeEmail();
+// email.getEmailGroup().getEmailTopiaIds();
+// }
+// email.getEtatAttente();
+// email.getPriority();
+ }
} else {
List<Email> elements = Collections.emptyList();
- result = PaginationResult.of(elements, 0, page);
+// result = PaginationResult.of(elements, 0, page);
+ result = new ArrayList<>();
}
return result;
}
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 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -31,6 +31,7 @@
import java.util.List;
import java.util.Map;
+import com.franciaflex.faxtomail.persistence.entities.DemandType;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import org.apache.commons.collections4.CollectionUtils;
@@ -102,24 +103,43 @@
@Override
public List<MailFolder> getRootMailFoldersWithReadingRights(FaxToMailUser user) {
- List<MailFolder> rootFolders = getRootMailFolders();
- List<MailFolder> result = new ArrayList<>();
+// List<MailFolder> rootFolders = getRootMailFolders();
+// List<MailFolder> result = new ArrayList<>();
+//
+// for (MailFolder folder : rootFolders) {
+// findReadableFolders(folder, user, result);
+// }
- for (MailFolder folder : rootFolders) {
- findReadableFolders(folder, user, result);
+ MailFolderTopiaDao dao = getPersistenceContext().getMailFolderDao();
+ List<MailFolder> result = new ArrayList<>(dao.getReadableFolders(user));
+ //FIXME kmorin 20140805 fetch
+ for (MailFolder f : result) {
+ findReadableFolders(f);
}
-
return result;
}
- protected void findReadableFolders(MailFolder folder, FaxToMailUser user, List<MailFolder> folders) {
- if (folder.containsReadRightUsers(user)
- || !CollectionUtils.intersection(folder.getReadRightGroups(), user.getUserGroups()).isEmpty()) {
- folders.add(folder);
+ protected void findReadableFolders(MailFolder folder) {
+ //FIXME kmorin 20140805 fetch
+ folder.getFolderTableColumns();
+ folder.sizeFolderTableColumns();
+ folder.getReadRightGroups();
+ folder.getReadRightGroupsTopiaIds();
+ folder.getReadRightUsers();
+ folder.getReadRightUsersTopiaIds();
+ folder.getEtatAttentes();
+ folder.sizeEtatAttentes();
+ folder.getEtatAttentesTopiaIds();
+ if (folder.getDemandTypes() != null) {
+ for (DemandType demandType : folder.getDemandTypes()) {
+ demandType.getFields();
+ demandType.sizeFields();
+ }
+ }
- } else if (folder.isChildrenNotEmpty()) {
+ if (folder.isChildrenNotEmpty()) {
for (MailFolder child : folder.getChildren()) {
- findReadableFolders(child, user, folders);
+ findReadableFolders(child);
}
}
}
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -71,6 +71,9 @@
public FaxToMailUser getUserByLogin(String login) {
FaxToMailUserTopiaDao dao = getPersistenceContext().getFaxToMailUserDao();
FaxToMailUser user = dao.forLoginEquals(login).findUnique();
+ //FIXME kmorin 20140805 use fetch
+ user.getUserGroups();
+ user.getUserGroupsTopiaIds();
return user;
}
Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java
===================================================================
--- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -30,11 +30,14 @@
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup;
+import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroupTopiaDao;
import com.franciaflex.faxtomail.persistence.entities.MailField;
import org.apache.commons.lang3.RandomStringUtils;
@@ -76,10 +79,9 @@
/**
* Import all test data.
- *
+ *
* @throws IOException
*/
- @Override
public void initTestData() throws IOException {
if (log.isDebugEnabled()) {
log.debug("Init test data");
@@ -92,6 +94,46 @@
etatAttentes = referentielService.importEtatAttentes(is);
}
+ // create test groups and users
+ FaxToMailUserGroupTopiaDao faxToMailUserGroupDao = getPersistenceContext().getFaxToMailUserGroupDao();
+ FaxToMailUserGroup group1 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group1");
+ FaxToMailUserGroup group2 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group2");
+ FaxToMailUserGroup group3 = faxToMailUserGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "group3");
+ Collection<FaxToMailUserGroup> groups12 = Lists.newArrayList(group1, group2);
+ Collection<FaxToMailUserGroup> groups23 = Lists.newArrayList(group3, group2);
+
+ FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao();
+ FaxToMailUser marc = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Lefèbvre",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Marc",
+ FaxToMailUser.PROPERTY_LOGIN, "mlefebvre",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "MLE",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+ FaxToMailUser cyril = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Baillet",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Cyril",
+ FaxToMailUser.PROPERTY_LOGIN, "cbaillet",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "CBA",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+ FaxToMailUser frederic = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Viala",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Frédéric",
+ FaxToMailUser.PROPERTY_LOGIN, "fviala",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "FVI",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+ FaxToMailUser claire = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Marquis",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Claire",
+ FaxToMailUser.PROPERTY_LOGIN, "cmarquis",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "CMA",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+ FaxToMailUser agathe = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Borde",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Agathe",
+ FaxToMailUser.PROPERTY_LOGIN, "aborde",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "ABO",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+ FaxToMailUser jeanne = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Bourgoin",
+ FaxToMailUser.PROPERTY_FIRST_NAME, "Jeanne",
+ FaxToMailUser.PROPERTY_LOGIN, "jbourgoin",
+ FaxToMailUser.PROPERTY_TRIGRAPH, "JBO",
+ FaxToMailUser.PROPERTY_USER_GROUPS, groups12);
+
// create folders
MailFolderTopiaDao folderDao = getPersistenceContext().getMailFolderDao();
Map<String, MailFolder> foldersByName = new HashMap<>();
@@ -106,14 +148,16 @@
MailFolder sav = folderDao.create(MailFolder.PROPERTY_NAME, "SAV",
MailFolder.PROPERTY_PARENT, franciaflex,
- MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(0, 1));
+ MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(0, 1),
+ MailFolder.PROPERTY_READ_RIGHT_GROUPS, groups23);
franciaflex.addChildren(sav);
foldersByName.put(sav.getName(), sav);
// user folders
MailFolder cyrilFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Cyril",
MailFolder.PROPERTY_PARENT, chargesClientelle,
- MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(1, 2));
+ MailFolder.PROPERTY_ETAT_ATTENTES, etatAttentes.subList(1, 2),
+ MailFolder.PROPERTY_READ_RIGHT_USERS, Lists.newArrayList(cyril));
chargesClientelle.addChildren(cyrilFolder);
foldersByName.put(cyrilFolder.getName(), cyrilFolder);
@@ -143,33 +187,6 @@
sav.addChildren(jeanneFolder);
foldersByName.put(jeanneFolder.getName(), jeanneFolder);
- // create test users
- FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao();
- FaxToMailUser marc = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Lefèbvre",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Marc",
- FaxToMailUser.PROPERTY_LOGIN, "mlefebvre",
- FaxToMailUser.PROPERTY_TRIGRAPH, "MLE");
- FaxToMailUser cyril = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Baillet",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Cyril",
- FaxToMailUser.PROPERTY_LOGIN, "cbaillet",
- FaxToMailUser.PROPERTY_TRIGRAPH, "CBA");
- FaxToMailUser frederic = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Viala",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Frédéric",
- FaxToMailUser.PROPERTY_LOGIN, "fviala",
- FaxToMailUser.PROPERTY_TRIGRAPH, "FVI");
- FaxToMailUser claire = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Marquis",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Claire",
- FaxToMailUser.PROPERTY_LOGIN, "cmarquis",
- FaxToMailUser.PROPERTY_TRIGRAPH, "CMA");
- FaxToMailUser agathe = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Borde",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Agathe",
- FaxToMailUser.PROPERTY_LOGIN, "aborde",
- FaxToMailUser.PROPERTY_TRIGRAPH, "ABO");
- FaxToMailUser jeanne = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Bourgoin",
- FaxToMailUser.PROPERTY_FIRST_NAME, "Jeanne",
- FaxToMailUser.PROPERTY_LOGIN, "jbourgoin",
- FaxToMailUser.PROPERTY_TRIGRAPH, "JBO");
-
// droits global à marc pour tout
franciaflex.addReadRightUsers(marc);
franciaflex = folderDao.update(franciaflex);
Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java
===================================================================
--- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/MailFolderServiceTest.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -25,7 +25,12 @@
*/
import java.io.IOException;
+import java.util.List;
+import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
@@ -43,11 +48,13 @@
private static final Log log = LogFactory.getLog(MailFolderServiceTest.class);
protected MailFolderService service;
+ protected UserService userService;
@Before
public void setUp() throws IOException {
service = newService(MailFolderService.class);
newService(InitTestData.class).initTestData();
+ userService = newService(UserService.class);
}
@Test
@@ -56,4 +63,23 @@
Assert.assertNotNull(folder);
}
+ @Test
+ public void testRootFolders() {
+ FaxToMailUser cyril = userService.getUserByLogin("cbaillet");
+ List<MailFolder> mailFolders = service.getRootMailFoldersWithReadingRights(cyril);
+ log.info(mailFolders.size() + " readable folders ");
+ for (MailFolder folder : mailFolders) {
+ printTree(folder, " ");
+ }
+ }
+
+ protected void printTree(MailFolder folder, String prefix) {
+ log.info(prefix + folder.getName());
+ if (folder.getChildren() != null) {
+ for (MailFolder f : folder.getChildren()) {
+ printTree(f, "-" + prefix);
+ }
+ }
+ }
+
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -85,9 +85,11 @@
MailFolder folder = model.getSelectedFolder();
FaxToMailUser currentUser = getContext().getCurrentUser();
- PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService()
- .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
- List<Email> emails = paginationResult.getElements();
+// PaginationResult<Email> paginationResult = getContext().newServiceContext().getEmailService()
+// .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
+// List<Email> emails = paginationResult.getElements();
+ List<Email> emails = getContext().newServiceContext().getEmailService()
+ .getEmailForFolder(folder, currentUser, model.getPaginationParameter());
if (log.isDebugEnabled()) {
log.debug(emails.size() + " emails in folder " + folder.getName());
}
@@ -109,12 +111,13 @@
}
demand.setValid(handler.isDemandeValid(demand));
+ demand.setMailFolder(folder);
demands.add(demand);
}
model.setEmails(demands);
- model.setPaginationParameter(paginationResult.getCurrentPage());
- model.setPaginationResult(paginationResult);
+// model.setPaginationParameter(paginationResult.getCurrentPage());
+// model.setPaginationResult(paginationResult);
}
@Override
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -271,7 +271,7 @@
if (attachment != null) {
JLabel label = attachmentItem.getAttachmentNameLabel();
- String actionIconName = attachment.isAddedByUser() ? "user" : "email";
+ String actionIconName = Boolean.TRUE.equals(attachment.isAddedByUser()) ? "user" : "email";
Icon icon = SwingUtil.createActionIcon(actionIconName);
label.setIcon(icon);
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -320,7 +320,7 @@
}
public void setFax(boolean fax) {
- boolean oldValue = isFax();
+ Object oldValue = isFax();
editObject.setFax(fax);
firePropertyChanged(Email.PROPERTY_FAX, oldValue, fax);
}
@@ -476,7 +476,7 @@
return StringUtils.join(reference, ", ");
}
- public void setHistory(Collection<History> history) {
+ public void setHistory(List<History> history) {
editObject.setHistory(history);
firePropertyChanged(Email.PROPERTY_HISTORY, null, history);
}
@@ -646,7 +646,7 @@
firePropertyChanged(PROPERTY_REFERENCE, refOldValue, getReference());
}
- public void addAllRangeRow(Collection<RangeRow> rangeRow) {
+ public void addAllRangeRow(List<RangeRow> rangeRow) {
Object oldValue = null;
if (getRangeRow() != null) {
oldValue = new ArrayList<RangeRow>(getRangeRow());
@@ -669,7 +669,7 @@
firePropertyChanged(PROPERTY_REFERENCE, refOldValue, getReference());
}
- public void setRangeRow(Collection<RangeRow> rangeRow) {
+ public void setRangeRow(List<RangeRow> rangeRow) {
Object oldValue = null;
if (getRangeRow() != null) {
oldValue = new ArrayList<RangeRow>(getRangeRow());
@@ -787,7 +787,7 @@
return groupedDemandes.size();
}
- public void addAllReplies(Collection<Reply> replies) {
+ public void addAllReplies(List<Reply> replies) {
Object oldValue = new ArrayList<Reply>(getReplies());
editObject.addAllReplies(replies);
firePropertyChange(Email.PROPERTY_REPLIES, oldValue, getAttachment());
@@ -808,7 +808,7 @@
firePropertyChange(Email.PROPERTY_REPLIES, oldValue, getReplies());
}
- public void setReplies(Collection<Reply> replies) {
+ public void setReplies(List<Reply> replies) {
Object oldValue = null;
if (getReplies() != null) {
oldValue = new ArrayList<Reply>(getReplies());
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 12:13:55 UTC (rev 479)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-08-06 12:24:06 UTC (rev 480)
@@ -340,10 +340,12 @@
List<String> ranges = new ArrayList<String>();
Collection<RangeRow> rangeRows = demande.getRangeRow();
- for (RangeRow rangeRow : rangeRows) {
- Integer qty = getQuantityFunction.apply(rangeRow);
- if (qty != null && qty > 0) {
- ranges.add(rangeRow.getRange().getLabel() + " : " + qty);
+ if (rangeRows != null) {
+ for (RangeRow rangeRow : rangeRows) {
+ Integer qty = getQuantityFunction.apply(rangeRow);
+ if (qty != null && qty > 0) {
+ ranges.add(rangeRow.getRange().getLabel() + " : " + qty);
+ }
}
}
1
0
r479 - trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 14:13:55 +0200 (Wed, 06 Aug 2014)
New Revision: 479
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/479
Log:
Use non deprecated Version
Modified:
trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java
Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java
===================================================================
--- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-08-06 10:03:08 UTC (rev 478)
+++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-08-06 12:13:55 UTC (rev 479)
@@ -35,7 +35,7 @@
import javax.swing.KeyStroke;
import org.nuiton.config.ConfigOptionDef;
-import org.nuiton.util.Version;
+import org.nuiton.util.version.Version;
public enum FaxToMailConfigurationOption implements ConfigOptionDef {
1
0
r478 - trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin
by echatellier@users.forge.codelutin.com 06 Aug '14
by echatellier@users.forge.codelutin.com 06 Aug '14
06 Aug '14
Author: echatellier
Date: 2014-08-06 12:03:08 +0200 (Wed, 06 Aug 2014)
New Revision: 478
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/478
Log:
refs #5538: ajout de la partie web de la configuration des boites mail de type fax
Modified:
trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp
Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-08-06 08:46:09 UTC (rev 477)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-08-06 10:03:08 UTC (rev 478)
@@ -1055,7 +1055,7 @@
<th>Serveur</th>
<th>Port</th>
<th>Utilisateur</th>
- <th>Rejet</th>
+ <th>Options</th>
<th/>
</tr>
</thead>
@@ -1065,57 +1065,81 @@
<td>{{emailAccount.host}}</td>
<td>{{emailAccount.port}}</td>
<td>{{emailAccount.login}}</td>
- <td>{{emailAccount.rejectAllowed ? 'Autorisé' : 'Non autorisé'}}</td>
<td>
+ <span class="fa fa-fax" tooltip="Compte email ne recevant que des fax" ng-if="emailAccount.faxAccountType"></span>
+ <span class="fa fa-reply" tooltip="Le rejet des email est autorisé" ng-if="emailAccount.rejectAllowed"></span>
+ </td>
+ <td>
<a class="btn btn-danger btn-xs" ng-click="removeEmailAccount($index)">
<span class="glyphicon glyphicon-remove"></span>
</a></td>
</tr>
+ <tr ng-if="!emailAccounts || emailAccounts.length == 0">
+ <td class="emptyTable" colspan="6">Aucun compte email trouvé</td>
+ </tr>
</tbody>
</table>
- <div class="form row" role="form" ng-form="addEmailAccountForm">
- <div class="form-group col-xs-1">
- <label for="emailAccountProtocol" class="control-label">Protocole:</label>
- <!-- <input type="text" class="form-control" ng-model="newAccount.protocol" /> -->
- <select id="emailAccountProtocol" ng-model="newAccount.protocol" ng-options="protocol as protocol for (protocol, port) in emailProtocolPorts"></select>
- </div>
- <div class="form-group col-xs-3">
- <label for="emailAccountHost" class="control-label">Serveur:</label>
- <input id="emailAccountHost" name="newAccountHost" type="text" class="form-control" ng-model="newAccount.host" ng-minlength="1" />
- </div>
- <div class="form-group col-xs-1"
- ng-class="{'has-error': addEmailAccountForm.newAccountPort.$dirty && addEmailAccountForm.newAccountPort.$invalid,
- 'has-success': addEmailAccountForm.newAccountPort.$dirty && addEmailAccountForm.newAccountPort.$valid}">
- <label for="emailAccountPort" class="control-label">Port:</label>
- <input id="emailAccountPort" name="newAccountPort" type="text" class="form-control" ng-model="newAccount.port" ng-pattern="/^\d+$/" />
- </div>
- <div class="form-group col-xs-2">
- <label for="emailAccountUser" class="control-label">Utilisateur:</label>
- <input id="emailAccountUser" type="text" class="form-control" ng-model="newAccount.login"/>
- </div>
- <div class="form-group col-xs-2">
- <label for="emailAccountPassword" class="control-label">Mot de passe:</label>
- <input id="emailAccountPassword" type="password" class="form-control" ng-model="newAccount.password">
- </div>
- <div class="form-group col-xs-1">
- <label class="control-label">Rejet:</label>
- <div class="checkbox">
- <label>
- <input id="emailRejectAllowed" type="checkbox" ng-value="true" ng-model="newAccount.rejectAllowed"> Autorisé
- </label>
+ <div role="form" ng-form="addEmailAccountForm">
+ <fieldset>
+ <legend>Nouveau compte email</legend>
+ <div class="form row">
+ <div class="form-group col-xs-1">
+ <label for="emailAccountProtocol" class="control-label">Protocole:</label>
+ <!-- <input type="text" class="form-control" ng-model="newAccount.protocol" /> -->
+ <select id="emailAccountProtocol" ng-model="newAccount.protocol" ng-options="protocol as protocol for (protocol, port) in emailProtocolPorts"></select>
+ </div>
+ <div class="form-group col-xs-4">
+ <label for="emailAccountHost" class="control-label">Serveur:</label>
+ <input id="emailAccountHost" name="newAccountHost" type="text" class="form-control" ng-model="newAccount.host" ng-minlength="1" />
+ </div>
+ <div class="form-group col-xs-1"
+ ng-class="{'has-error': addEmailAccountForm.newAccountPort.$dirty && addEmailAccountForm.newAccountPort.$invalid,
+ 'has-success': addEmailAccountForm.newAccountPort.$dirty && addEmailAccountForm.newAccountPort.$valid}">
+ <label for="emailAccountPort" class="control-label">Port:</label>
+ <input id="emailAccountPort" name="newAccountPort" type="text" class="form-control" ng-model="newAccount.port" ng-pattern="/^\d+$/" />
+ </div>
+ <div class="form-group col-xs-3">
+ <label for="emailAccountUser" class="control-label">Utilisateur:</label>
+ <input id="emailAccountUser" type="text" class="form-control" ng-model="newAccount.login"/>
+ </div>
+ <div class="form-group col-xs-3">
+ <label for="emailAccountPassword" class="control-label">Mot de passe:</label>
+ <input id="emailAccountPassword" type="password" class="form-control" ng-model="newAccount.password">
+ </div>
</div>
- </div>
- <div class="form-group col-xs-2">
- <br />
- <button type="button" class="btn btn-info" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid"
- ng-click="checkEmailAccount()">
- <i class="fa fa-cogs"></i> Test
- </button>
- <button type="button" class="btn btn-success" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid" ng-click="addEmailAccount()">
- <i class="fa fa-plus"></i> Ajouter
- </button>
- </div>
+ <div class="form row">
+ <div class="form-group col-xs-5">
+ <label class="control-label">Réception de fax:</label>
+ <div class="checkbox">
+ <label>
+ <input id="emailRejectAllowed" type="checkbox" ng-value="true" ng-model="newAccount.faxAccountType">
+ ce compte email recoit seulement des fax
+ </label>
+ </div>
+ </div>
+ <div class="form-group col-xs-5">
+ <label class="control-label">Rejet:</label>
+ <div class="checkbox">
+ <label tooltip="{{newAccount.faxAccountType ? 'Les fax ne peuvent pas être rejeté' : 'Suivant la configuration des filtres de routage, les mails de client inconnus peuvent être rejeté'}}">
+ <input id="emailRejectAllowed" type="checkbox" ng-value="true"
+ ng-model="newAccount.rejectAllowed" ng-disabled="newAccount.faxAccountType">
+ autoriser les mails de ce compte à pouvoir être rejeté
+ </label>
+ </div>
+ </div>
+ <div class="form-group col-xs-2">
+ <br />
+ <button type="button" class="btn btn-info" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid"
+ ng-click="checkEmailAccount()">
+ <i class="fa fa-cogs"></i> Test
+ </button>
+ <button type="button" class="btn btn-success" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid" ng-click="addEmailAccount()">
+ <i class="fa fa-plus"></i> Ajouter
+ </button>
+ </div>
+ </div>
+ </fieldset>
</div>
</div>
1
0