001
014
015 package com.liferay.portal.kernel.events;
016
017 import javax.servlet.http.HttpServletRequest;
018 import javax.servlet.http.HttpServletResponse;
019
020
023 public class InvokerAction extends Action {
024
025 public InvokerAction(Action action, ClassLoader classLoader) {
026 _action = action;
027 _classLoader = classLoader;
028 }
029
030 @Override
031 public void run(
032 HttpServletRequest request, HttpServletResponse response)
033 throws ActionException {
034
035 Thread currentThread = Thread.currentThread();
036
037 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
038
039 try {
040 currentThread.setContextClassLoader(_classLoader);
041
042 _action.run(request, response);
043 }
044 finally {
045 currentThread.setContextClassLoader(contextClassLoader);
046 }
047 }
048
049 private Action _action;
050 private ClassLoader _classLoader;
051
052 }