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.portal.kernel.util.WebKeys;
020 import com.liferay.taglib.servlet.PipingServletResponse;
021
022 import java.io.Writer;
023
024 import javax.servlet.RequestDispatcher;
025 import javax.servlet.ServletContext;
026 import javax.servlet.http.HttpServletRequest;
027 import javax.servlet.http.HttpServletResponse;
028
029
032 public class JSPSearchEntry extends SearchEntry {
033
034 @Override
035 public Object clone() {
036 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
037
038 BeanPropertiesUtil.copyProperties(this, jspSearchEntry);
039
040 return jspSearchEntry;
041 }
042
043 public String getHref() {
044 return _href;
045 }
046
047 public String getPath() {
048 return _path;
049 }
050
051 public HttpServletRequest getRequest() {
052 return _request;
053 }
054
055 public HttpServletResponse getResponse() {
056 return _response;
057 }
058
059 public ServletContext getServletContext() {
060 return _servletContext;
061 }
062
063 @Override
064 public void print(
065 Writer writer, HttpServletRequest request,
066 HttpServletResponse response)
067 throws Exception {
068
069 request.setAttribute(WebKeys.SEARCH_ENTRY_HREF, getHref());
070
071 if (_servletContext != null) {
072 RequestDispatcher requestDispatcher =
073 DirectRequestDispatcherFactoryUtil.getRequestDispatcher(
074 _servletContext, _path);
075
076 requestDispatcher.include(
077 _request, new PipingServletResponse(response, writer));
078 }
079 else {
080 RequestDispatcher requestDispatcher = request.getRequestDispatcher(
081 _path);
082
083 requestDispatcher.include(request, response);
084 }
085
086 request.removeAttribute(WebKeys.SEARCH_ENTRY_HREF);
087 }
088
089 public void setHref(String href) {
090 _href = href;
091 }
092
093 public void setPath(String path) {
094 _path = path;
095 }
096
097 public void setRequest(HttpServletRequest request) {
098 _request = request;
099 }
100
101 public void setResponse(HttpServletResponse response) {
102 _response = response;
103 }
104
105 public void setServletContext(ServletContext servletContext) {
106 _servletContext = servletContext;
107 }
108
109 private String _href;
110 private String _path;
111 private HttpServletRequest _request;
112 private HttpServletResponse _response;
113 private ServletContext _servletContext;
114
115 }