/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.pieShare.pieShareApp.task.commandTasks.resetPwd; import java.io.IOException; import java.nio.file.Files; import org.pieShare.pieShareApp.model.PieShareAppBeanNames; import org.pieShare.pieShareApp.model.PieUser; import org.pieShare.pieShareApp.model.command.ResetPwdCommand; import org.pieShare.pieShareApp.service.database.api.IDatabaseService; import org.pieShare.pieShareApp.task.commandTasks.resetPwd.api.IResetPwdTask; import org.pieShare.pieTools.pieUtilities.service.beanService.IBeanService; import org.pieShare.pieTools.pieUtilities.service.pieLogger.PieLogger; /** * * @author Richard */ public class ResetPwdTask implements IResetPwdTask { private IDatabaseService databaseService; private IBeanService beanService; private ResetPwdCommand command; public void setDatabaseService(IDatabaseService databaseService) { this.databaseService = databaseService; } public void setBeanService(IBeanService beanService) { this.beanService = beanService; } @Override public void setEvent(ResetPwdCommand msg) { this.command = msg; } @Override public void run() { PieUser user = beanService.getBean(PieShareAppBeanNames.getPieUser()); user.setHasPasswordFile(false); databaseService.mergePieUser(user); if (user.getPieShareConfiguration().getPwdFile().exists()) { try { Files.delete(user.getPieShareConfiguration().getPwdFile().toPath()); } catch (IOException ex) { //ToDo: Add error callback. PieLogger.error(this.getClass(), "Error deleting password file. Maybe this is ok", ex); } } command.getCallback().pwdResetOK(); } }