--- /dev/null
+/*******************************************************************************
+ * Copyright © Igor Barma, Alexandre Desoubeaux, Christian Martel, Eric Brun, Mathieu Amblard, Gwenael Gevet, Pierre Guillot, 2012
+ *
+ * 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.userProperties;
+
+import java.util.GregorianCalendar;
+import java.util.List;
+
+import com.liferay.documentlibrary.NoSuchDirectoryException;
+import com.liferay.documentlibrary.service.DLServiceUtil;
+import com.liferay.portal.PortalException;
+import com.liferay.portal.SystemException;
+import com.liferay.portal.kernel.job.IntervalJob;
+import com.liferay.portal.kernel.util.Time;
+import com.liferay.portal.model.Company;
+import com.liferay.portal.model.CompanyConstants;
+import com.liferay.portal.service.CompanyLocalServiceUtil;
+
+public class SchedulerGroup implements IntervalJob{
+
+ private long _interval;
+
+ // Lancement du scheduler une fois par jour
+ public SchedulerGroup() {
+ _interval = Time.DAY;
+ }
+
+ // Retourne l'intervalle de lancement du scheduler
+ public long getInterval() {
+ return _interval;
+ }
+
+ // Procedure appelee lorsque le scheduler s'execute, permet de supprimer le dossier d'exportation des données des utilisateurs en fin de semaine.
+ public void execute(com.liferay.portal.kernel.job.JobExecutionContext arg0) throws com.liferay.portal.kernel.job.JobExecutionException {
+ try {
+ System.out.println("UserProperties scheduler started");
+ // Date aujourd'hui
+ GregorianCalendar today = new GregorianCalendar();
+
+
+ if(today.get(GregorianCalendar.DAY_OF_WEEK) == GregorianCalendar.SUNDAY){
+ deleteDirectory();
+ }
+
+
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ // Suppression des dossiers
+ private void deleteDirectory() throws SystemException, PortalException {
+ String dirName = "exportDataENT/";
+ String portletId = CompanyConstants.SYSTEM_STRING;
+ long repositoryId = CompanyConstants.SYSTEM;
+ List<Company> list = CompanyLocalServiceUtil.getCompanies();
+ for(Company c : list){
+ try {
+ DLServiceUtil.deleteDirectory(
+ c.getCompanyId(), portletId, repositoryId, dirName);
+ }
+ catch (NoSuchDirectoryException nsde) {
+ }
+ }
+ }
+}