001
014
015 package com.liferay.taglib.search;
016
017 import com.liferay.portal.kernel.bean.BeanPropertiesUtil;
018 import com.liferay.portal.kernel.servlet.DirectRequestDispatcherFactoryUtil;
019 import com.liferay.taglib.servlet.PipingServletResponse;
020
021 import java.io.Writer;
022
023 import javax.servlet.RequestDispatcher;
024 import javax.servlet.ServletContext;
025 import javax.servlet.http.HttpServletRequest;
026 import javax.servlet.http.HttpServletResponse;
027
028
031 public class JSPSearchEntry extends SearchEntry {
032
033 @Override
034 public Object clone() {
035 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
036
037 BeanPropertiesUtil.copyProperties(this, jspSearchEntry);
038
039 return jspSearchEntry;
040 }
041
042 public String getPath() {
043 return _path;
044 }
045
046 public HttpServletRequest getRequest() {
047 return _request;
048 }
049
050 public HttpServletResponse getResponse() {
051 return _response;
052 }
053
054 public ServletContext getServletContext() {
055 return _servletContext;
056 }
057
058 @Override
059 public void print(
060 Writer writer, HttpServletRequest request,
061 HttpServletResponse response)
062 throws Exception {
063
064 if (_servletContext != null) {
065 RequestDispatcher requestDispatcher =
066 DirectRequestDispatcherFactoryUtil.getRequestDispatcher(
067 _servletContext, _path);
068
069 requestDispatcher.include(
070 _request, new PipingServletResponse(response, writer));
071 }
072 else {
073 RequestDispatcher requestDispatcher = request.getRequestDispatcher(
074 _path);
075
076 requestDispatcher.include(request, response);
077 }
078 }
079
080 public void setPath(String path) {
081 _path = path;
082 }
083
084 public void setRequest(HttpServletRequest request) {
085 _request = request;
086 }
087
088 public void setResponse(HttpServletResponse response) {
089 _response = response;
090 }
091
092 public void setServletContext(ServletContext servletContext) {
093 _servletContext = servletContext;
094 }
095
096 private String _path;
097 private HttpServletRequest _request;
098 private HttpServletResponse _response;
099 private ServletContext _servletContext;
100
101 }