
io.tracee.contextlogger.data.subdata.servlet.ServletSessionContextProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tracee-context-logger-impl Show documentation
Show all versions of tracee-context-logger-impl Show documentation
Please refer to https://github.com/holisticon/tracee.
The newest version!
package io.tracee.contextlogger.data.subdata.servlet;
import io.tracee.contextlogger.api.Flatten;
import io.tracee.contextlogger.api.TraceeContextLogProvider;
import io.tracee.contextlogger.api.TraceeContextLogProviderMethod;
import io.tracee.contextlogger.api.WrappedContextData;
import io.tracee.contextlogger.data.Order;
import io.tracee.contextlogger.data.subdata.NameStringValuePair;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
/**
* Context provider for HttpSession.
* Created by Tobias Gindler, holisticon AG on 19.03.14.
*/
@TraceeContextLogProvider(displayName = "servletSession", order = Order.SERVLET)
public final class ServletSessionContextProvider implements WrappedContextData {
private HttpSession session;
public ServletSessionContextProvider() {
}
public ServletSessionContextProvider(HttpSession session) {
this.session = session;
}
@Override
public void setContextData(Object instance) throws ClassCastException {
this.session = (HttpSession) instance;
}
@Override
public Class getWrappedType() {
return HttpSession.class;
}
@SuppressWarnings("unused")
@Flatten
@TraceeContextLogProviderMethod(displayName = "DYNAMIC", propertyName = "DYNAMIC")
public List getSessionAttributes() {
if (session == null) {
return null;
}
final List sessionAttributes = new ArrayList();
if (session != null) {
final Enumeration attributeNames = session.getAttributeNames();
while (attributeNames.hasMoreElements()) {
final String key = attributeNames.nextElement();
final Object value = session.getAttribute(key);
sessionAttributes.add(new NameStringValuePair(key, value != null ? value.toString() : null));
}
}
return (sessionAttributes.size() > 0 ? sessionAttributes : null);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy