KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opencms > workplace > CmsBackofficeHead


1 /*
2 * File : $Source: /usr/local/cvs/opencms/src-modules/com/opencms/workplace/CmsBackofficeHead.java,v $
3 * Date : $Date: 2005/05/31 15:51:19 $
4 * Version: $Revision: 1.2 $
5 *
6 * This library is part of OpenCms -
7 * the Open Source Content Mananagement System
8 *
9 * Copyright (C) 2001 The OpenCms Group
10 *
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
20 *
21 * For further information about OpenCms, please see the
22 * OpenCms Website: http://www.opencms.org
23 *
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with this library; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 */

28
29 package com.opencms.workplace;
30
31 import org.opencms.file.CmsObject;
32 import org.opencms.main.CmsException;
33 import org.opencms.main.CmsLog;
34
35 import com.opencms.core.CmsSession;
36 import com.opencms.legacy.CmsXmlTemplateLoader;
37 import com.opencms.template.CmsXmlTemplateFile;
38
39 import java.util.Hashtable JavaDoc;
40 import java.util.Vector JavaDoc;
41
42 /**
43  * Template class for displaying the head frame of the generic backoffice input forms
44  *
45  * Creation date: (17.10.2001)
46  * @author Michael Emmerich
47  *
48  * @deprecated Will not be supported past the OpenCms 6 release.
49  */

50
51 public class CmsBackofficeHead extends CmsWorkplaceDefault {
52
53     /**
54      * Gets the content of a defined section in a given template file and its subtemplates
55      * with the given parameters.
56      *
57      * @see #getContent(CmsObject, String, String, Hashtable, String)
58      * @param cms CmsObject Object for accessing system resources.
59      * @param templateFile Filename of the template file.
60      * @param elementName Element name of this template in our parent template.
61      * @param parameters Hashtable with all template class parameters.
62      * @param templateSelector template section that should be processed.
63      */

64     public byte[] getContent(CmsObject cms, String JavaDoc templateFile, String JavaDoc elementName, Hashtable JavaDoc parameters, String JavaDoc templateSelector) throws CmsException {
65         if(CmsLog.getLog(this).isDebugEnabled() && C_DEBUG) {
66             CmsLog.getLog(this).debug("Getting content of element " + ((elementName==null)?"<root>":elementName));
67             CmsLog.getLog(this).debug("Template file is: " + templateFile);
68             CmsLog.getLog(this).debug("Selected template section is: " + ((templateSelector==null)?"<default>":templateSelector));
69         }
70         CmsXmlTemplateFile xmlTemplateDocument = getOwnTemplateFile(cms, templateFile, elementName, parameters, templateSelector);
71         CmsSession session = (CmsSession)CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true);
72         Vector JavaDoc selector = (Vector JavaDoc)session.getValue("backofficeselectortransfer");
73         if(selector == null || selector.size() < 2){
74             //set the proccessTag = ""
75
xmlTemplateDocument.setData("BOSELECTOR","");
76             //remove the unused values from the session
77
session.removeValue("backofficeselectortransfer");
78             session.removeValue("backofficeselectedtransfer");
79         }
80
81         //care about the previewbutton
82
String JavaDoc prevLink = (String JavaDoc)session.getValue("weShallDisplayThePreviewButton");
83         if(prevLink != null && !prevLink.equals("") ){
84             //we got a link so we display it
85
xmlTemplateDocument.setData("link", prevLink);
86             xmlTemplateDocument.setData("prevbut", xmlTemplateDocument.getProcessedDataValue("preview", this, parameters));
87             session.removeValue("weShallDisplayThePreviewButton");
88         }else{
89             xmlTemplateDocument.setData("prevbut","");// xmlTemplateDocument.getDataValue("nopreview"));
90
}
91
92
93         return startProcessing(cms, xmlTemplateDocument, elementName, parameters, templateSelector);
94     }
95
96
97  /**
98  * This method creates the selectbox with all avaiable Pages to select from.
99  */

100   public Integer JavaDoc getSelectedPage(CmsObject cms, CmsXmlLanguageFile lang, Vector JavaDoc names, Vector JavaDoc values,
101                            Hashtable JavaDoc parameters) throws CmsException {
102     // get the session
103
CmsSession session = (CmsSession) CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true);
104     // get all aviable template selectors
105
Vector JavaDoc selector=(Vector JavaDoc)session.getValue("backofficeselectortransfer");
106
107     // get the actual template selector
108
Integer JavaDoc retValue =(Integer JavaDoc)session.getValue("backofficeselectedtransfer");
109     // copy the data into the value and name vectors
110
if(selector != null){
111         for (int i = 0; i < selector.size(); i++) {
112           String JavaDoc sel = (String JavaDoc) selector.elementAt(i);
113           names.addElement(sel);
114           values.addElement(sel);
115         }
116     }
117
118     session.removeValue("backofficeselectortransfer");
119     session.removeValue("backofficeselectedtransfer");
120     if(retValue == null){
121         retValue = new Integer JavaDoc(0);
122     }
123     return retValue;
124   }
125
126 }
Popular Tags