--- /dev/null
+/*******************************************************************************
+ * Copyright � Igor Barma, Alexandre Desoubeaux, Christian Martel, Eric Brun, Mathieu Amblard, Gwenael Gevet, Pierre Guillot, 2012
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Alexandre Lefevre, Marc Salvat 2014-2016
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Marc Salvat, Marc Suarez, Harifetra Ramamonjy 2017
+ *
+ * This file is part of the work and learning management system Pentila Nero.
+ *
+ * Pentila Nero is free software. You can redistribute it and/or modify since
+ * you respect the terms of either (at least one of the both license) :
+ * - under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ * - the CeCILL-C as published by CeCILL-C; either version 1 of the
+ * License, or any later version
+ * - the GNU Lesser General Public License as published by the
+ * Free Software Foundation, either version 3 of the license,
+ * or (at your option) any later version.
+ *
+ * There are special exceptions to the terms and conditions of the
+ * licenses as they are applied to this software. View the full text of
+ * the exception in file LICENSE-PROJECT.txt in the directory of this software
+ * distribution.
+ *
+ * Pentila Nero 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
+ * Licenses for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * and the CeCILL-C and the GNU Lesser General Public License along with
+ * Pentila Nero. If not, see :
+ * <http://www.gnu.org/licenses/> and
+ * <http://www.cecill.info/licences.fr.html>.
+ ******************************************************************************/
+package com.pentila.entSavoie.internalMessaging;
+
+import java.util.Set;
+
+import com.liferay.portal.kernel.json.JSONArray;
+import com.liferay.portal.model.User;
+import com.liferay.portal.security.auth.PrincipalThreadLocal;
+import com.liferay.portal.security.permission.PermissionChecker;
+import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
+import com.liferay.portal.security.permission.PermissionThreadLocal;
+import com.pentila.entSavoie.utils.ENTSendingUtil;
+
+
+public class ThreadSendMessage extends Thread{
+
+ private User user;
+ private Set<Long> destFinal;
+ private String subject;
+ private String content;
+ private JSONArray attachFiles;
+ private Boolean toIm;
+ private Boolean toCasier;
+ private String destMail;
+ private String ccMail;
+ private String cciMail;
+ private Long accountId;
+ private String accountPassword;
+ private long messageId;
+
+ public ThreadSendMessage(User u, Set<Long> df, String s, String c, JSONArray af, long messageId, String destMail, String ccMail, String cciMail, Long accountId, String accountPassword, Boolean toIm, Boolean toCasier) {
+ this.user= u;
+ this.destFinal = df;
+ this.subject = s;
+ this.content = c;
+ this.attachFiles = af;
+ this.toIm = toIm;
+ this.toCasier = toCasier;
+ this.destMail = destMail;
+ this.ccMail = ccMail;
+ this.messageId = messageId;
+ this.cciMail = cciMail;
+ this.accountId = accountId;
+ this.accountPassword = accountPassword;
+ this.setUncaughtExceptionHandler(new UncaughtExceptionSendMessageHandler(this.user, this.subject));
+ }
+
+ public ThreadSendMessage(User u, Set<Long> df, String s, String c, JSONArray af, Boolean toIm, Boolean toCasier) {
+ this.user= u;
+ this.destFinal = df;
+ this.subject = s;
+ this.content = c;
+ this.attachFiles = af;
+ this.toIm = toIm;
+ this.toCasier = toCasier;
+ this.messageId = 0;
+ this.destMail = "";
+ this.accountId = new Long(0);
+ this.accountPassword = "";
+ this.setUncaughtExceptionHandler(new UncaughtExceptionSendMessageHandler(this.user, this.subject));
+ }
+
+ public void run() {
+ //envoi le message
+ try {
+ PrincipalThreadLocal.setName(this.user.getUserId());
+ PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(this.user);
+ PermissionThreadLocal.setPermissionChecker(permissionChecker);
+ ENTSendingUtil.sendMessageToUsers(this.user, this.destFinal, this.subject, this.content, this.attachFiles, this.messageId, this.destMail, this.ccMail, this.cciMail, this.accountId, this.accountPassword, this.toIm, this.toCasier);
+ } catch (Exception e) {
+ System.out.println("ereur de thread TSM");
+ e.printStackTrace();
+ }
+ }
+
+}