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.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 setAssetEntryVisible(boolean assetEntryVisible) {
028                    _assetEntryVisible = assetEntryVisible;
029            }
030    
031            public void setClassName(String className) {
032                    _className = className;
033            }
034    
035            public void setClassPK(long classPK) {
036                    _classPK = classPK;
037            }
038    
039            public void setFormAction(String formAction) {
040                    _formAction = formAction;
041            }
042    
043            public void setFormName(String formName) {
044                    _formName = formName;
045            }
046    
047            public void setHideControls(boolean hideControls) {
048                    _hideControls = hideControls;
049            }
050    
051            public void setPermissionClassName(String permissionClassName) {
052                    _permissionClassName = permissionClassName;
053            }
054    
055            public void setPermissionClassPK(long permissionClassPK) {
056                    _permissionClassPK = permissionClassPK;
057            }
058    
059            public void setRatingsEnabled(boolean ratingsEnabled) {
060                    _ratingsEnabled = ratingsEnabled;
061            }
062    
063            public void setRedirect(String redirect) {
064                    _redirect = redirect;
065            }
066    
067            /**
068             * @deprecated As of 6.2.0, with no direct replacement
069             */
070            @Deprecated
071            public void setSubject(String subject) {
072            }
073    
074            public void setUserId(long userId) {
075                    _userId = userId;
076            }
077    
078            @Override
079            protected void cleanUp() {
080                    _assetEntryVisible = true;
081                    _className = null;
082                    _classPK = 0;
083                    _formAction = null;
084                    _formName = "fm";
085                    _hideControls = false;
086                    _permissionClassName = null;
087                    _permissionClassPK = 0;
088                    _ratingsEnabled = true;
089                    _redirect = null;
090                    _userId = 0;
091            }
092    
093            @Override
094            protected String getPage() {
095                    return _PAGE;
096            }
097    
098            @Override
099            protected void setAttributes(HttpServletRequest request) {
100                    String permissionClassName = _permissionClassName;
101    
102                    if (Validator.isNull(permissionClassName)) {
103                            permissionClassName = _className;
104                    }
105    
106                    long permissionClassPK = _permissionClassPK;
107    
108                    if (permissionClassPK == 0) {
109                            permissionClassPK = _classPK;
110                    }
111    
112                    request.setAttribute(
113                            "liferay-ui:discussion:assetEntryVisible",
114                            String.valueOf(_assetEntryVisible));
115                    request.setAttribute("liferay-ui:discussion:className", _className);
116                    request.setAttribute(
117                            "liferay-ui:discussion:classPK", String.valueOf(_classPK));
118                    request.setAttribute("liferay-ui:discussion:formAction", _formAction);
119                    request.setAttribute("liferay-ui:discussion:formName", _formName);
120                    request.setAttribute(
121                            "liferay-ui:discussion:hideControls",
122                            String.valueOf(_hideControls));
123                    request.setAttribute(
124                            "liferay-ui:discussion:permissionClassName", permissionClassName);
125                    request.setAttribute(
126                            "liferay-ui:discussion:permissionClassPK",
127                            String.valueOf(permissionClassPK));
128                    request.setAttribute(
129                            "liferay-ui:discussion:ratingsEnabled",
130                            String.valueOf(_ratingsEnabled));
131                    request.setAttribute("liferay-ui:discussion:redirect", _redirect);
132                    request.setAttribute(
133                            "liferay-ui:discussion:userId", String.valueOf(_userId));
134            }
135    
136            private static final String _PAGE = "/html/taglib/ui/discussion/page.jsp";
137    
138            private boolean _assetEntryVisible = true;
139            private String _className;
140            private long _classPK;
141            private String _formAction;
142            private String _formName = "fm";
143            private boolean _hideControls;
144            private String _permissionClassName;
145            private long _permissionClassPK;
146            private boolean _ratingsEnabled = true;
147            private String _redirect;
148            private long _userId;
149    
150    }