001    /**
002     * Copyright (c) 2000-2010 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.ui;
016    
017    import com.liferay.portal.kernel.util.Validator;
018    import com.liferay.taglib.util.IncludeTag;
019    
020    import javax.servlet.http.HttpServletRequest;
021    
022    /**
023     * @author Charles May
024     */
025    public class DiscussionTag extends IncludeTag {
026    
027            public void setClassName(String className) {
028                    _className = className;
029            }
030    
031            public void setClassPK(long classPK) {
032                    _classPK = classPK;
033            }
034    
035            public void setFormAction(String formAction) {
036                    _formAction = formAction;
037            }
038    
039            public void setFormName(String formName) {
040                    _formName = formName;
041            }
042    
043            public void setPermissionClassName(String permissionClassName) {
044                    _permissionClassName = permissionClassName;
045            }
046    
047            public void setPermissionClassPK(long permissionClassPK) {
048                    _permissionClassPK = permissionClassPK;
049            }
050    
051            public void setRatingsEnabled(boolean ratingsEnabled) {
052                    _ratingsEnabled = ratingsEnabled;
053            }
054    
055            public void setRedirect(String redirect) {
056                    _redirect = redirect;
057            }
058    
059            public void setSubject(String subject) {
060                    _subject = subject;
061            }
062    
063            public void setUserId(long userId) {
064                    _userId = userId;
065            }
066    
067            protected void cleanUp() {
068                    _className = null;
069                    _classPK = 0;
070                    _formAction = null;
071                    _formName = "fm";
072                    _permissionClassName = null;
073                    _permissionClassPK = 0;
074                    _ratingsEnabled = true;
075                    _redirect = null;
076                    _subject = null;
077                    _userId = 0;
078            }
079    
080            protected String getPage() {
081                    return _PAGE;
082            }
083    
084            protected void setAttributes(HttpServletRequest request) {
085                    String permissionClassName = _permissionClassName;
086    
087                    if (Validator.isNull(permissionClassName)) {
088                            permissionClassName = _className;
089                    }
090    
091                    long permissionClassPK = _permissionClassPK;
092    
093                    if (permissionClassPK == 0) {
094                            permissionClassPK = _classPK;
095                    }
096    
097                    request.setAttribute("liferay-ui:discussion:className", _className);
098                    request.setAttribute(
099                            "liferay-ui:discussion:classPK", String.valueOf(_classPK));
100                    request.setAttribute("liferay-ui:discussion:formAction", _formAction);
101                    request.setAttribute("liferay-ui:discussion:formName", _formName);
102                    request.setAttribute(
103                            "liferay-ui:discussion:permissionClassName", permissionClassName);
104                    request.setAttribute(
105                            "liferay-ui:discussion:permissionClassPK",
106                            String.valueOf(permissionClassPK));
107                    request.setAttribute(
108                            "liferay-ui:discussion:ratingsEnabled",
109                            String.valueOf(_ratingsEnabled));
110                    request.setAttribute("liferay-ui:discussion:redirect", _redirect);
111                    request.setAttribute("liferay-ui:discussion:subject", _subject);
112                    request.setAttribute(
113                            "liferay-ui:discussion:userId", String.valueOf(_userId));
114            }
115    
116            private static final String _PAGE = "/html/taglib/ui/discussion/page.jsp";
117    
118            private String _className;
119            private long _classPK;
120            private String _formAction;
121            private String _formName = "fm";
122            private String _permissionClassName;
123            private long _permissionClassPK;
124            private boolean _ratingsEnabled = true;
125            private String _redirect;
126            private String _subject;
127            private long _userId;
128    
129    }