package org.nocket.util;
import org.apache.log4j.MDC;
import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.cycle.RequestCycleContext;
/**
* Die derzeit einzige Funktion des DMDRequestCycle ist die SessionId dem Log4J
* per MCD zur Verfügung zu stellen.
*
* @author meis026
*/
public class DMDRequestCycle extends RequestCycle {
/** The Constant SESSION_ID. */
public final static String SESSION_ID = "SESSION_ID";
/**
* Instantiates a new DMD request cycle.
*
* @param context the context
*/
public DMDRequestCycle(RequestCycleContext context) {
super(context);
}
/* (non-Javadoc)
* @see org.apache.wicket.request.cycle.RequestCycle#onBeginRequest()
*/
@Override
protected void onBeginRequest() {
String id = Session.get().getId();
if (id != null) {
MDC.put(SESSION_ID, id);
}
super.onBeginRequest();
}
/* (non-Javadoc)
* @see org.apache.wicket.request.cycle.RequestCycle#onEndRequest()
*/
@Override
protected void onEndRequest() {
super.onEndRequest();
MDC.remove(SESSION_ID);
}
/**
* Convenience method, that returns the AjaxRequestTarget.
*
* @return the ajax request target
*/
public static AjaxRequestTarget getAjaxRequestTarget() {
return get().find(AjaxRequestTarget.class);
}
}