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.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            public void setSubject(String subject) {
071            }
072    
073            public void setUserId(long userId) {
074                    _userId = userId;
075            }
076    
077            @Override
078            protected void cleanUp() {
079                    _assetEntryVisible = true;
080                    _className = null;
081                    _classPK = 0;
082                    _formAction = null;
083                    _formName = "fm";
084                    _hideControls = false;
085                    _permissionClassName = null;
086                    _permissionClassPK = 0;
087                    _ratingsEnabled = true;
088                    _redirect = null;
089                    _userId = 0;
090            }
091    
092            @Override
093            protected String getPage() {
094                    return _PAGE;
095            }
096    
097            @Override
098            protected void setAttributes(HttpServletRequest request) {
099                    String permissionClassName = _permissionClassName;
100    
101                    if (Validator.isNull(permissionClassName)) {
102                            permissionClassName = _className;
103                    }
104    
105                    long permissionClassPK = _permissionClassPK;
106    
107                    if (permissionClassPK == 0) {
108                            permissionClassPK = _classPK;
109                    }
110    
111                    request.setAttribute(
112                            "liferay-ui:discussion:assetEntryVisible",
113                            String.valueOf(_assetEntryVisible));
114                    request.setAttribute("liferay-ui:discussion:className", _className);
115                    request.setAttribute(
116                            "liferay-ui:discussion:classPK", String.valueOf(_classPK));
117                    request.setAttribute("liferay-ui:discussion:formAction", _formAction);
118                    request.setAttribute("liferay-ui:discussion:formName", _formName);
119                    request.setAttribute(
120                            "liferay-ui:discussion:hideControls",
121                            String.valueOf(_hideControls));
122                    request.setAttribute(
123                            "liferay-ui:discussion:permissionClassName", permissionClassName);
124                    request.setAttribute(
125                            "liferay-ui:discussion:permissionClassPK",
126                            String.valueOf(permissionClassPK));
127                    request.setAttribute(
128                            "liferay-ui:discussion:ratingsEnabled",
129                            String.valueOf(_ratingsEnabled));
130                    request.setAttribute("liferay-ui:discussion:redirect", _redirect);
131                    request.setAttribute(
132                            "liferay-ui:discussion:userId", String.valueOf(_userId));
133            }
134    
135            private static final String _PAGE = "/html/taglib/ui/discussion/page.jsp";
136    
137            private boolean _assetEntryVisible = true;
138            private String _className;
139            private long _classPK;
140            private String _formAction;
141            private String _formName = "fm";
142            private boolean _hideControls;
143            private String _permissionClassName;
144            private long _permissionClassPK;
145            private boolean _ratingsEnabled = true;
146            private String _redirect;
147            private long _userId;
148    
149    }