/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconsultation.core.impl.log; import com.megatim.fdxcommons.model.log.UserActionLog; import com.megatim.fdxcommons.model.pojo.CriteriaEntity; import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView; import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest; import com.megatim.fdxcommons.tools.context.AppContext; import com.megatim.fdxconsultation.core.ifaces.log.UserActionLogManager; import com.megatim.fdxconsultation.dao.ifaces.log.UserActionLogDAO; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.model.dto.log.UserActionLogDto; import com.megatim.fdxconsultation.model.mappers.MapStructMapper; import com.megatim.fdxconsultation.tools.CommonTools; import com.megatim.fdxconsultation.tools.context.AppCommonContext; import com.megatim.reporting.adhoc.dto.ReportConfiguration; import java.io.File; import java.time.LocalDateTime; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.ejb.EJB; import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; /** * * @author ASUS */ @Dependent public class UserActionLogManagerImpl implements UserActionLogManager { @EJB private UserActionLogDAO dao; @Inject com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper; @Inject MapStructMapper mapper; @Override public UserActionLogDAO getDao() { return dao; } @Override public String getEntityIdName() { return "id"; } @Override public Class getClazz() { return UserActionLogDto.class; } @Override public Map getParameters() { return new HashMap<>(); } @Override public List getDatas(CriteriaEntityFromView criterion) throws Exception { return mapper.userActionLogListToUserActionLogDtoList(findAll(criterion, Arrays.asList(), Arrays.asList())); } @Override public File printAll(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, false); } @Override public File printOne(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, true); } @Override public File exportExcelAll(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, false); } @Override public File exportExcelOne(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, true); } @Override public void log(HttpHeaders headers, @Context HttpServletRequest request, String message, String utilisateur) { Map map = CommonTools.recupererInfosRequete(headers, request); UserActionLog log = new UserActionLog(); log.setDateAction(LocalDateTime.now()); log.setMessage(message); log.setUserAgent(map.get(AppCommonContext.REQUETE_HTTP_CLIENT)); log.setIpAddress(map.get(AppCommonContext.REQUETE_HTTP_ADRESSE_IP)); log.setHttpMethod(map.get(AppCommonContext.REQUETE_HTTP_METHODE)); log.setRelativePath(map.get(AppCommonContext.REQUETE_HTTP_PATH)); log.setUserName(utilisateur); log.setStatus(200); log.setMotif(log.getStatus() != null ? log.getStatus().toString()+" ("+AppContext.registre_codes_http.get(log.getStatus().toString())+")" : null); save(log); } }