001    /**
002     * Copyright (c) 2000-2012 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            public void setSubject(String subject) {
068                    _subject = subject;
069            }
070    
071            public void setUserId(long userId) {
072                    _userId = userId;
073            }
074    
075            @Override
076            protected void cleanUp() {
077                    _assetEntryVisible = true;
078                    _className = null;
079                    _classPK = 0;
080                    _formAction = null;
081                    _formName = "fm";
082                    _hideControls = false;
083                    _permissionClassName = null;
084                    _permissionClassPK = 0;
085                    _ratingsEnabled = true;
086                    _redirect = null;
087                    _subject = null;
088                    _userId = 0;
089            }
090    
091            @Override
092            protected String getPage() {
093                    return _PAGE;
094            }
095    
096            @Override
097            protected void setAttributes(HttpServletRequest request) {
098                    String permissionClassName = _permissionClassName;
099    
100                    if (Validator.isNull(permissionClassName)) {
101                            permissionClassName = _className;
102                    }
103    
104                    long permissionClassPK = _permissionClassPK;
105    
106                    if (permissionClassPK == 0) {
107                            permissionClassPK = _classPK;
108                    }
109    
110                    request.setAttribute(
111                            "liferay-ui:discussion:assetEntryVisible",
112                            String.valueOf(_assetEntryVisible));
113                    request.setAttribute("liferay-ui:discussion:className", _className);
114                    request.setAttribute(
115                            "liferay-ui:discussion:classPK", String.valueOf(_classPK));
116                    request.setAttribute("liferay-ui:discussion:formAction", _formAction);
117                    request.setAttribute("liferay-ui:discussion:formName", _formName);
118                    request.setAttribute(
119                            "liferay-ui:discussion:hideControls",
120                            String.valueOf(_hideControls));
121                    request.setAttribute(
122                            "liferay-ui:discussion:permissionClassName", permissionClassName);
123                    request.setAttribute(
124                            "liferay-ui:discussion:permissionClassPK",
125                            String.valueOf(permissionClassPK));
126                    request.setAttribute(
127                            "liferay-ui:discussion:ratingsEnabled",
128                            String.valueOf(_ratingsEnabled));
129                    request.setAttribute("liferay-ui:discussion:redirect", _redirect);
130                    request.setAttribute("liferay-ui:discussion:subject", _subject);
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 String _subject;
148            private long _userId;
149    
150    }