001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
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 setHideControls(boolean hideControls) {
044                    _hideControls = hideControls;
045            }
046    
047            public void setPermissionClassName(String permissionClassName) {
048                    _permissionClassName = permissionClassName;
049            }
050    
051            public void setPermissionClassPK(long permissionClassPK) {
052                    _permissionClassPK = permissionClassPK;
053            }
054    
055            public void setRatingsEnabled(boolean ratingsEnabled) {
056                    _ratingsEnabled = ratingsEnabled;
057            }
058    
059            public void setRedirect(String redirect) {
060                    _redirect = redirect;
061            }
062    
063            public void setSubject(String subject) {
064                    _subject = subject;
065            }
066    
067            public void setUserId(long userId) {
068                    _userId = userId;
069            }
070    
071            @Override
072            protected void cleanUp() {
073                    _className = null;
074                    _classPK = 0;
075                    _formAction = null;
076                    _formName = "fm";
077                    _hideControls = false;
078                    _permissionClassName = null;
079                    _permissionClassPK = 0;
080                    _ratingsEnabled = true;
081                    _redirect = null;
082                    _subject = null;
083                    _userId = 0;
084            }
085    
086            @Override
087            protected String getPage() {
088                    return _PAGE;
089            }
090    
091            @Override
092            protected void setAttributes(HttpServletRequest request) {
093                    String permissionClassName = _permissionClassName;
094    
095                    if (Validator.isNull(permissionClassName)) {
096                            permissionClassName = _className;
097                    }
098    
099                    long permissionClassPK = _permissionClassPK;
100    
101                    if (permissionClassPK == 0) {
102                            permissionClassPK = _classPK;
103                    }
104    
105                    request.setAttribute("liferay-ui:discussion:className", _className);
106                    request.setAttribute(
107                            "liferay-ui:discussion:classPK", String.valueOf(_classPK));
108                    request.setAttribute("liferay-ui:discussion:formAction", _formAction);
109                    request.setAttribute("liferay-ui:discussion:formName", _formName);
110                    request.setAttribute(
111                            "liferay-ui:discussion:hideControls",
112                            String.valueOf(_hideControls));
113                    request.setAttribute(
114                            "liferay-ui:discussion:permissionClassName", permissionClassName);
115                    request.setAttribute(
116                            "liferay-ui:discussion:permissionClassPK",
117                            String.valueOf(permissionClassPK));
118                    request.setAttribute(
119                            "liferay-ui:discussion:ratingsEnabled",
120                            String.valueOf(_ratingsEnabled));
121                    request.setAttribute("liferay-ui:discussion:redirect", _redirect);
122                    request.setAttribute("liferay-ui:discussion:subject", _subject);
123                    request.setAttribute(
124                            "liferay-ui:discussion:userId", String.valueOf(_userId));
125            }
126    
127            private static final String _PAGE = "/html/taglib/ui/discussion/page.jsp";
128    
129            private String _className;
130            private long _classPK;
131            private String _formAction;
132            private String _formName = "fm";
133            private boolean _hideControls;
134            private String _permissionClassName;
135            private long _permissionClassPK;
136            private boolean _ratingsEnabled = true;
137            private String _redirect;
138            private String _subject;
139            private long _userId;
140    
141    }