KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > generators > ToolbarGenerator


1 /*
2  * Created on May 19, 2006
3  */

4 package com.openedit.generators;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 import com.openedit.OpenEditException;
10 import com.openedit.WebPageRequest;
11 import com.openedit.page.Page;
12
13 public class ToolbarGenerator extends BaseToolBarGenerator
14 {
15     private static final Log log = LogFactory.getLog(ToolbarGenerator.class);
16     
17     public void generate(WebPageRequest inPageRequest, Page inPage, Output inOut) throws OpenEditException
18     {
19         boolean added = addHeader(inPageRequest, inOut);
20
21         getWraps().generate(inPageRequest, inPage, inOut);
22         
23         if ( added )
24         {
25             addFooter(inPageRequest, inOut);
26         }
27     }
28     public boolean addHeader( WebPageRequest inPageRequest, Output inOut ) throws OpenEditException
29     {
30         Page requestedPage = inPageRequest.getPage();
31         if ( requestedPage.isBinary() || !inPageRequest.isEditable() )
32         {
33             return false;
34         }
35         String JavaDoc show = inPageRequest.getRequestParameter("showtoolbar");
36         if ( show != null && !Boolean.parseBoolean(show))
37         {
38             return false;
39         }
40         Page header = getPageManager().getPage( getHeaderPath() );
41         inPageRequest.putPageValue("editPage",requestedPage);
42         header.generate(inPageRequest, inOut);
43         return true;
44     }
45     public boolean addFooter(WebPageRequest inPageRequest, Output inOut) throws OpenEditException
46     {
47         Page requestedPage = inPageRequest.getPage();
48         if ( requestedPage.isBinary())
49         {
50             return false;
51         }
52         Page footer = getPageManager().getPage( getFooterPath() );
53
54         inPageRequest.putPageValue("editPage",requestedPage);
55         footer.generate(inPageRequest, inOut);
56         return true;
57     }
58     /**
59      * This seems to complex. The only thing needed now is editable checks
60      * @param inPageRequest
61      * @return
62      * @throws OpenEditException
63      
64     protected boolean checkFlags( WebPageRequest inPageRequest ) throws OpenEditException
65     {
66         PageAction inAction = inPageRequest.getCurrentAction();
67
68         String flagKey = inAction.getConfig().getChildValue( "flag" );
69         
70         Page requestedPage = (Page)inPageRequest.getPage();
71         String propertyFlag = requestedPage.getProperty( flagKey );
72         String pageValueFlag = (String)inPageRequest.getPageValue( flagKey );
73         String requestParameterFlag = inPageRequest.getRequestParameter( flagKey );
74         log.debug( "Checking decoration flag " + flagKey + " for page " + requestedPage );
75         if ( "false".equals( propertyFlag )
76           || "false".equals( pageValueFlag )
77           || "false".equals( requestParameterFlag ) )
78         {
79             return false;
80         }
81         
82         String permission = inAction.getConfig().getChildValue( "permission" );
83         if ( permission != null )
84         {
85             if ( inPageRequest.getUser() == null)
86             {
87                 return false;
88             }
89             else
90             {
91                 log.debug("Checking user");
92                 return inPageRequest.getUser().hasPermission(permission);
93             }
94         }
95         return true;
96     }
97     */

98     
99
100 }
101
Popular Tags