package com.taobao.easyweb.core.context;
import com.taobao.easyweb.core.app.App;
import com.taobao.easyweb.core.app.AppContainer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ThreadContext {
private static ThreadLocal<Context> threadLocal = new ThreadLocal<Context>();
public static void init(HttpServletRequest request, HttpServletResponse response) {
setRequest(request);
//����response��������groovy������ͷ����Ϣ
setResponse(response);
App app = AppContainer.getAppInfo(request.getServerName(), request.getRequestURI());
setApp(app);
}
public static void destroy() {
clean();
}
public static Context getContext() {
if (threadLocal.get() == null) {
threadLocal.set(new Context());
}
return threadLocal.get();
}
public static void setContext(Context context){
threadLocal.set(context);
}
public static void setRequest(HttpServletRequest request) {
getContext().setRequest(request);
}
public static void setApp(App app) {
getContext().setApp(app);
}
/**
* ������put������
*
* @param key
* @param value
*/
public static void putContext(String key, Object value) {
getContext().putContext(key, value);
}
public static void clean() {
if (threadLocal != null) {
threadLocal.remove();
}
}
public static void setResponse(HttpServletResponse response) {
getContext().setResponse(response);
}
}