001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
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.servlet.ServletContextPool;
020    import com.liferay.portal.util.PortalUtil;
021    import com.liferay.taglib.servlet.PipingServletResponse;
022    
023    import java.io.Writer;
024    
025    import java.util.Date;
026    
027    import javax.servlet.RequestDispatcher;
028    import javax.servlet.ServletContext;
029    import javax.servlet.http.HttpServletRequest;
030    import javax.servlet.http.HttpServletResponse;
031    
032    /**
033     * @author Eudaldo Alonso
034     */
035    public class StatusSearchEntry extends TextSearchEntry {
036    
037            @Override
038            public Object clone() {
039                    StatusSearchEntry jspSearchEntry = new StatusSearchEntry();
040    
041                    BeanPropertiesUtil.copyProperties(this, jspSearchEntry);
042    
043                    return jspSearchEntry;
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                    if (_servletContext == null) {
056                            return ServletContextPool.get(PortalUtil.getServletContextName());
057                    }
058    
059                    return _servletContext;
060            }
061    
062            public int getStatus() {
063                    return _status;
064            }
065    
066            public long getStatusByUserId() {
067                    return _statusByUserId;
068            }
069    
070            public Date getStatusDate() {
071                    return _statusDate;
072            }
073    
074            @Override
075            public void print(
076                            Writer writer, HttpServletRequest request,
077                            HttpServletResponse response)
078                    throws Exception {
079    
080                    request.setAttribute(
081                            "liferay-ui:search-container-column-status:status", _status);
082                    request.setAttribute(
083                            "liferay-ui:search-container-column-status:statusByUserId",
084                            _statusByUserId);
085                    request.setAttribute(
086                            "liferay-ui:search-container-column-status:statusDate",
087                            _statusDate);
088    
089                    RequestDispatcher requestDispatcher =
090                            DirectRequestDispatcherFactoryUtil.getRequestDispatcher(
091                                    getServletContext(), _PAGE);
092    
093                    requestDispatcher.include(
094                            request, new PipingServletResponse(response, writer));
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            public void setStatus(int status) {
110                    _status = status;
111            }
112    
113            public void setStatusByUserId(long statusByUserId) {
114                    _statusByUserId = statusByUserId;
115            }
116    
117            public void setStatusDate(Date statusDate) {
118                    _statusDate = statusDate;
119            }
120    
121            private static final String _PAGE =
122                    "/html/taglib/ui/search_container/status.jsp";
123    
124            private HttpServletRequest _request;
125            private HttpServletResponse _response;
126            private ServletContext _servletContext;
127            private int _status;
128            private long _statusByUserId;
129            private Date _statusDate;
130    
131    }