KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > deprecated > taglibs > url > IfNotContainerListPropertiesRightsTag


1 package org.jahia.deprecated.taglibs.url;
2
3 import java.io.IOException JavaDoc;
4 import java.util.Enumeration JavaDoc;
5
6 import javax.servlet.ServletRequest JavaDoc;
7 import javax.servlet.jsp.JspWriter JavaDoc;
8 import javax.servlet.jsp.tagext.BodyContent JavaDoc;
9 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
10
11 import org.jahia.data.JahiaData;
12 import org.jahia.data.containers.JahiaContainerList;
13 import org.jahia.deprecated.taglibs.container.ContainerListTag;
14 import org.jahia.services.usermanager.JahiaUser;
15 import org.jahia.utils.JahiaConsole;
16
17
18 /**
19  * Class IfNotContainerListPropertiesRightsTag : displays the body only when the user
20  * can not access the properties window of the enclosing container list
21  *
22  * @author Jerome Tamiotti
23  */

24 public class IfNotContainerListPropertiesRightsTag extends BodyTagSupport JavaDoc {
25
26     public int doAfterBody() {
27
28         ServletRequest JavaDoc request = pageContext.getRequest();
29         BodyContent JavaDoc body = getBodyContent();
30         try {
31             JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData");
32             // tests if the 'page properties' button must be displayed
33
JahiaUser user = jData.params().getUser();
34
35             // retrieves the current container list
36
JahiaContainerList containerList = null;
37             ContainerListTag parent = (ContainerListTag) findAncestorWithClass(this,ContainerListTag.class);
38             if (parent != null) {
39                 containerList = parent.getContainerList();
40             }
41             if (containerList != null) {
42                 Enumeration JavaDoc containers = containerList.getContainers();
43                 if ( !containers.hasMoreElements()
44                      || !containerList.checkWriteAccess(user)
45                      || !jData.gui().isEditMode() ) {
46
47                     JspWriter JavaDoc out = body.getEnclosingWriter();
48                     out.print(body.getString());
49                 }
50             }
51             return SKIP_BODY;
52
53         } catch (IOException JavaDoc ioe) {
54             JahiaConsole.println("IfContainerListPropertiesRightsTag: doAfterBody ", ioe.toString());
55         }
56         return SKIP_BODY;
57     }
58
59 }
60
Popular Tags