ec.gob.senescyt.sniese.commons.bundles.audit.ModeloAuditable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sniese-commons Show documentation
Show all versions of sniese-commons Show documentation
Librería que contiene clases de uso comun para sniese hechos en dropwizard
package ec.gob.senescyt.sniese.commons.bundles.audit;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.jersey.api.core.HttpContext;
import ec.gob.senescyt.sniese.commons.security.Usuario;
import io.dropwizard.jackson.Jackson;
import org.joda.time.DateTime;
public class ModeloAuditable {
private final HttpContext context;
private final Usuario usuarioAutenticado;
private static final ObjectMapper MAPPER = Jackson.newObjectMapper();
public ModeloAuditable(HttpContext context, Usuario usuarioAutenticado) {
this.context = context;
this.usuarioAutenticado = usuarioAutenticado;
}
public String getNombreUsuario() {
if (usuarioAutenticado == null){
return "USUARIO_ANONIMO";
}
return usuarioAutenticado.getNombreUsuario();
}
public String getDireccionRemota() {
return context.getRequest().getRequestHeaders().getFirst("X-Remote-Addr");
}
public String getEntidad() {
String entidad;
try{
entidad = MAPPER.writeValueAsString(context.getResponse().getEntity());
}catch (JsonProcessingException e){
entidad = context.getRequest().getEntity(String.class);
}
return entidad;
}
public DateTime getFecha() {
return DateTime.now();
}
public String getRuta() {
return context.getRequest().getPath();
}
public int getCodigoRespuesta() {
return context.getResponse().getStatus();
}
public String getVerboMetodo() {
return context.getRequest().getMethod();
}
public boolean esAuditable() {
int estado = getCodigoRespuesta();
return 199 < estado && estado < 300;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy