KickJava   Java API By Example, From Geeks To Geeks.

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


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 IfContainerListPropertiesRightsTag : displays the body only when the user
20  * can access the properties window of the enclosing container list
21  *
22  * @author Jerome Tamiotti
23  */

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