001    /**
002     * Copyright (c) 2000-2013 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.portal.kernel.dao.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.PipingServletResponse;
020    
021    import java.util.Date;
022    
023    import javax.servlet.RequestDispatcher;
024    import javax.servlet.ServletContext;
025    import javax.servlet.http.HttpServletRequest;
026    import javax.servlet.http.HttpServletResponse;
027    import javax.servlet.jsp.PageContext;
028    
029    /**
030     * @author Eudaldo Alonso
031     */
032    public class StatusSearchEntry extends TextSearchEntry {
033    
034            @Override
035            public Object clone() {
036                    StatusSearchEntry jspSearchEntry = new StatusSearchEntry();
037    
038                    BeanPropertiesUtil.copyProperties(this, jspSearchEntry);
039    
040                    return jspSearchEntry;
041            }
042    
043            public HttpServletRequest getRequest() {
044                    return _request;
045            }
046    
047            public HttpServletResponse getResponse() {
048                    return _response;
049            }
050    
051            public ServletContext getServletContext() {
052                    return _servletContext;
053            }
054    
055            public int getStatus() {
056                    return _status;
057            }
058    
059            public long getStatusByUserId() {
060                    return _statusByUserId;
061            }
062    
063            public Date getStatusDate() {
064                    return _statusDate;
065            }
066    
067            @Override
068            public void print(PageContext pageContext) throws Exception {
069                    if (_request == null) {
070                            _request = (HttpServletRequest)pageContext.getRequest();
071                    }
072    
073                    _request.setAttribute(
074                            "liferay-ui:search-container-column-status:status", _status);
075                    _request.setAttribute(
076                            "liferay-ui:search-container-column-status:statusByUserId",
077                            _statusByUserId);
078                    _request.setAttribute(
079                            "liferay-ui:search-container-column-status:statusDate",
080                            _statusDate);
081    
082                    if (_servletContext != null) {
083                            RequestDispatcher requestDispatcher =
084                                    DirectRequestDispatcherFactoryUtil.getRequestDispatcher(
085                                            _servletContext, _PAGE);
086    
087                            requestDispatcher.include(
088                                    _request, new PipingServletResponse(pageContext));
089                    }
090                    else {
091                            pageContext.include(_PAGE);
092                    }
093            }
094    
095            public void setRequest(HttpServletRequest request) {
096                    _request = request;
097            }
098    
099            public void setResponse(HttpServletResponse response) {
100                    _response = response;
101            }
102    
103            public void setServletContext(ServletContext servletContext) {
104                    _servletContext = servletContext;
105            }
106    
107            public void setStatus(int status) {
108                    _status = status;
109            }
110    
111            public void setStatusByUserId(long statusByUserId) {
112                    _statusByUserId = statusByUserId;
113            }
114    
115            public void setStatusDate(Date statusDate) {
116                    _statusDate = statusDate;
117            }
118    
119            private static final String _PAGE =
120                    "/html/taglib/ui/search_container/status.jsp";
121    
122            private HttpServletRequest _request;
123            private HttpServletResponse _response;
124            private ServletContext _servletContext;
125            private int _status;
126            private long _statusByUserId;
127            private Date _statusDate;
128    
129    }