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(HttpServletRequest request, HttpServletResponse response)
032 throws ActionException {
033
034 Thread currentThread = Thread.currentThread();
035
036 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
037
038 try {
039 currentThread.setContextClassLoader(_classLoader);
040
041 _action.run(request, response);
042 }
043 finally {
044 currentThread.setContextClassLoader(contextClassLoader);
045 }
046 }
047
048 private Action _action;
049 private ClassLoader _classLoader;
050
051 }