Code Aufräumen nach Umstellung ContentCenter auf Servlet basierte Seiten statt Dispatcher.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2050 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
97bdd93d1c
commit
5764020eab
|
|
@ -20,7 +20,7 @@
|
||||||
package com.arsdigita.cms;
|
package com.arsdigita.cms;
|
||||||
|
|
||||||
import com.arsdigita.bebop.Page;
|
import com.arsdigita.bebop.Page;
|
||||||
import com.arsdigita.cms.dispatcher.ResourceHandler;
|
import com.arsdigita.cms.SecurityManager;
|
||||||
import com.arsdigita.cms.dispatcher.SimpleCache;
|
import com.arsdigita.cms.dispatcher.SimpleCache;
|
||||||
import com.arsdigita.cms.ui.contentcenter.MainPage;
|
import com.arsdigita.cms.ui.contentcenter.MainPage;
|
||||||
import com.arsdigita.developersupport.DeveloperSupport;
|
import com.arsdigita.developersupport.DeveloperSupport;
|
||||||
|
|
@ -37,7 +37,6 @@ import com.arsdigita.web.*;
|
||||||
import com.arsdigita.xml.Document;
|
import com.arsdigita.xml.Document;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
@ -69,7 +68,7 @@ public class ContentCenterServlet extends BaseApplicationServlet {
|
||||||
"/WEB-INF/resources/content-center-old-map.xml";
|
"/WEB-INF/resources/content-center-old-map.xml";
|
||||||
|
|
||||||
/** Mapping between a relative URL and the class name of a ResourceHandler.*/
|
/** Mapping between a relative URL and the class name of a ResourceHandler.*/
|
||||||
private static HashMap s_pageClasses = ContentCenterSetup.getURLToClassMap();
|
// private static HashMap s_pageClasses = ContentCenterSetup.getURLToClassMap();
|
||||||
private static HashMap s_pageURLs = ContentCenterSetup.getClassToURLMap();
|
private static HashMap s_pageURLs = ContentCenterSetup.getClassToURLMap();
|
||||||
|
|
||||||
/** Instantiated ResourceHandlers cache. This allows for lazy loading. */
|
/** Instantiated ResourceHandlers cache. This allows for lazy loading. */
|
||||||
|
|
@ -205,7 +204,6 @@ public class ContentCenterServlet extends BaseApplicationServlet {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ResourceHandler page = getResource(url);
|
|
||||||
final Page page = (Page) m_pages.get(pathInfo);
|
final Page page = (Page) m_pages.get(pathInfo);
|
||||||
if ( page != null ) {
|
if ( page != null ) {
|
||||||
|
|
||||||
|
|
@ -271,6 +269,7 @@ public class ContentCenterServlet extends BaseApplicationServlet {
|
||||||
* Service Method returns the URL stub for the class name,
|
* Service Method returns the URL stub for the class name,
|
||||||
* can return null if not mapped
|
* can return null if not mapped
|
||||||
*/
|
*/
|
||||||
|
// Currently still in use by c.ad.cms.ui.ItemSearchWidget
|
||||||
public static String getURLStubForClass(String classname) {
|
public static String getURLStubForClass(String classname) {
|
||||||
s_log.debug("Getting URL Stub for : " + classname);
|
s_log.debug("Getting URL Stub for : " + classname);
|
||||||
Iterator itr = s_pageURLs.keySet().iterator();
|
Iterator itr = s_pageURLs.keySet().iterator();
|
||||||
|
|
@ -283,67 +282,13 @@ public class ContentCenterServlet extends BaseApplicationServlet {
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Fetch a page based on the URL stub.
|
|
||||||
*
|
|
||||||
* @param url The URL stub following the site-node URL
|
|
||||||
* @return A ResourceHandler or null if none exists.
|
|
||||||
* @pre (url != null)
|
|
||||||
*/
|
|
||||||
protected ResourceHandler getResource(String url) throws ServletException {
|
|
||||||
|
|
||||||
// First check the pages cache for existing pages.
|
|
||||||
ResourceHandler page = (ResourceHandler) s_pages.get(url);
|
|
||||||
if ( page == null ) {
|
|
||||||
|
|
||||||
// Next check if the URL maps to a page class.
|
|
||||||
String pageClassName = (String) s_pageClasses.get(url);
|
|
||||||
if ( pageClassName != null ) {
|
|
||||||
|
|
||||||
Class pageClass;
|
|
||||||
try {
|
|
||||||
pageClass = Class.forName(pageClassName);
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
s_log.error("error fetching class for ResourceHandler", e);
|
|
||||||
throw new ServletException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try and instantiate the page.
|
|
||||||
try {
|
|
||||||
page = (ResourceHandler) pageClass.newInstance();
|
|
||||||
} catch (InstantiationException e) {
|
|
||||||
s_log.error("error instantiating a ResourceHandler", e);
|
|
||||||
throw new ServletException(e);
|
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
s_log.error("error instantiating a ResourceHandler", e);
|
|
||||||
throw new ServletException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
page.init();
|
|
||||||
s_pages.put(url, page);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Map a page to a URL.
|
|
||||||
*
|
|
||||||
* @param url The URL
|
|
||||||
* @param className The name of the ResourceHandler class
|
|
||||||
* @pre (url != null && className != null)
|
|
||||||
*/
|
|
||||||
protected void addResource(String url, String className) {
|
|
||||||
s_pageClasses.put(url, className);
|
|
||||||
s_pageURLs.put(className, url);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Release the page at the specified URL.
|
* Release the page at the specified URL.
|
||||||
*
|
*
|
||||||
* @param url The URL
|
* @param url The URL
|
||||||
* @pre (url != null)
|
* @pre (url != null)
|
||||||
*/
|
*/
|
||||||
|
// Currently still in use by c.ad.cms.dispatcher.Utilities
|
||||||
public static void releaseResource(String url) {
|
public static void releaseResource(String url) {
|
||||||
s_pages.remove(url);
|
s_pages.remove(url);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,38 +18,18 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.ui;
|
package com.arsdigita.cms.ui;
|
||||||
|
|
||||||
import com.arsdigita.cms.dispatcher.*;
|
import com.arsdigita.bebop.*;
|
||||||
import com.arsdigita.bebop.Bebop;
|
|
||||||
import com.arsdigita.bebop.Container;
|
|
||||||
import com.arsdigita.bebop.Label;
|
|
||||||
import com.arsdigita.bebop.Page;
|
|
||||||
import com.arsdigita.bebop.PageState;
|
|
||||||
import com.arsdigita.bebop.page.PageTransformer;
|
import com.arsdigita.bebop.page.PageTransformer;
|
||||||
import com.arsdigita.cms.CMSExcursion;
|
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.ContentSectionServlet;
|
import com.arsdigita.cms.dispatcher.Utilities;
|
||||||
import com.arsdigita.cms.SecurityManager;
|
|
||||||
import com.arsdigita.developersupport.DeveloperSupport;
|
|
||||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
|
||||||
import com.arsdigita.domain.DomainObjectFactory;
|
|
||||||
import com.arsdigita.kernel.Kernel;
|
import com.arsdigita.kernel.Kernel;
|
||||||
import com.arsdigita.kernel.User;
|
import com.arsdigita.kernel.User;
|
||||||
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
|
||||||
import com.arsdigita.kernel.permissions.PermissionService;
|
|
||||||
import com.arsdigita.persistence.OID;
|
|
||||||
import com.arsdigita.templating.PresentationManager;
|
import com.arsdigita.templating.PresentationManager;
|
||||||
import com.arsdigita.util.Assert;
|
|
||||||
import com.arsdigita.web.Application;
|
|
||||||
import com.arsdigita.xml.Document;
|
import com.arsdigita.xml.Document;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
@ -57,19 +37,18 @@ import org.apache.log4j.Logger;
|
||||||
// ////////////////////////////////////////////////////////////////////////////
|
// ////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Currently under development as a replacement for CMSPage without the
|
// Currently under development as a replacement for CMSPage without the
|
||||||
// dispatcher mechanism but a new application style "pure" bebop page
|
// dispatcher mechanism but a new application style "pure" bebop pageElement
|
||||||
// served by an application servlet.
|
// served by an application servlet.
|
||||||
//
|
//
|
||||||
// ////////////////////////////////////////////////////////////////////////////
|
// ////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>A <tt>CMSPage</tt> is a Bebop {@link com.arsdigita.bebop.Page}
|
* <p>A <tt>CMSApplicationPage</tt> is a Bebop {@link com.arsdigita.bebop.Page}
|
||||||
* implementation of the {@link com.arsdigita.cms.dispatcher.ResourceHandler}
|
* implementation serving as a base for any CMS pageElement served by a servlet. </p>
|
||||||
* interface.</p>
|
|
||||||
*
|
*
|
||||||
* <p>It stores the current {@link com.arsdigita.cms.ContentSection} and, if
|
* <p>It stores the current {@link com.arsdigita.cms.ContentSection} and, if
|
||||||
* applicable, the {@link com.arsdigita.cms.ContentItem} in the page state as
|
* applicable, the {@link com.arsdigita.cms.ContentItem} in the pageElement state as
|
||||||
* request local objects. Components that are part of the <tt>CMSPage</tt>
|
* request local objects. Components that are part of the <tt>CMSPage</tt>
|
||||||
* may access these objects by calling:</p>
|
* may access these objects by calling:</p>
|
||||||
* <blockquote><code><pre>
|
* <blockquote><code><pre>
|
||||||
|
|
@ -87,7 +66,7 @@ public class CMSApplicationPage extends Page {
|
||||||
/** The global assets URL stub XML parameter name. */
|
/** The global assets URL stub XML parameter name. */
|
||||||
public final static String ASSETS = "ASSETS";
|
public final static String ASSETS = "ASSETS";
|
||||||
|
|
||||||
/** The XML page class. */
|
/** The XML pageElement class. */
|
||||||
public final static String PAGE_CLASS = "CMS";
|
public final static String PAGE_CLASS = "CMS";
|
||||||
|
|
||||||
/** Map of XML parameters */
|
/** Map of XML parameters */
|
||||||
|
|
@ -122,10 +101,11 @@ public class CMSApplicationPage extends Page {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the page.
|
* Builds the pageElement.
|
||||||
*/
|
*/
|
||||||
protected void buildPage() {
|
private void buildPage() {
|
||||||
// Set the class attribute.
|
|
||||||
|
// Set the class attribute value (down in SimpleComponent).
|
||||||
setClassAttr(PAGE_CLASS);
|
setClassAttr(PAGE_CLASS);
|
||||||
|
|
||||||
// Global XML params.
|
// Global XML params.
|
||||||
|
|
@ -151,10 +131,10 @@ public class CMSApplicationPage extends Page {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finishes and locks the page. If the page is already locked, does nothing.
|
* Finishes and locks the pageElement. If the pageElement is already locked, does nothing.
|
||||||
*
|
*
|
||||||
* This method is called by the {@link com.arsdigita.dispatcher.Dispatcher}
|
* This method is called by the {@link com.arsdigita.dispatcher.Dispatcher}
|
||||||
* that initializes this page.
|
* that initializes this pageElement.
|
||||||
*/
|
*/
|
||||||
public synchronized void init() {
|
public synchronized void init() {
|
||||||
s_log.debug("Initializing the page");
|
s_log.debug("Initializing the page");
|
||||||
|
|
@ -194,7 +174,7 @@ public class CMSApplicationPage extends Page {
|
||||||
* @param request The HTTP request
|
* @param request The HTTP request
|
||||||
* @return The current content section
|
* @return The current content section
|
||||||
*
|
*
|
||||||
* @deprecated use com.arsdigita.cms.CMS.getContext().getContentSection()
|
* @ deprecated use com.arsdigita.cms.CMS.getContext().getContentSection()
|
||||||
* instead
|
* instead
|
||||||
* Despite of being deprecated it can not be removed because it
|
* Despite of being deprecated it can not be removed because it
|
||||||
* is required by the interface Resourcehandler which is
|
* is required by the interface Resourcehandler which is
|
||||||
|
|
@ -202,27 +182,27 @@ public class CMSApplicationPage extends Page {
|
||||||
* On the other hand, if deprecated, implementing ResourceHandler
|
* On the other hand, if deprecated, implementing ResourceHandler
|
||||||
* may not be required
|
* may not be required
|
||||||
*/
|
*/
|
||||||
public ContentSection getContentSection(HttpServletRequest request) {
|
// public ContentSection getContentSection(HttpServletRequest request) {
|
||||||
// Resets all content sections associations.
|
// // Resets all content sections associations.
|
||||||
// return ContentSectionDispatcher.getContentSection(request);
|
// // return ContentSectionDispatcher.getContentSection(request);
|
||||||
return ContentSectionServlet.getContentSection(request);
|
// return ContentSectionServlet.getContentSection(request);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch the request-local content section.
|
* Fetch the request-local content section.
|
||||||
*
|
*
|
||||||
* @param state The page state
|
* @param state The pageElement state
|
||||||
* @return The current content section
|
* @return The current content section
|
||||||
*
|
*
|
||||||
* @deprecated use com.arsdigita.cms.CMS.getContext().getContentSection()
|
* @ deprecated use com.arsdigita.cms.CMS.getContext().getContentSection()
|
||||||
* instead
|
* instead
|
||||||
* Despite of being deprecated it can not be removed because it
|
* Despite of being deprecated it can not be removed because it
|
||||||
* is required by ContentItemPage which extends CMSPage and
|
* is required by ContentItemPage which extends CMSPage and
|
||||||
* uses this method.
|
* uses this method.
|
||||||
*/
|
*/
|
||||||
public ContentSection getContentSection(PageState state) {
|
// public ContentSection getContentSection(PageState state) {
|
||||||
return getContentSection(state.getRequest());
|
// return getContentSection(state.getRequest());
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch the request-local content item.
|
* Fetch the request-local content item.
|
||||||
|
|
@ -230,7 +210,7 @@ public class CMSApplicationPage extends Page {
|
||||||
* @param request The HTTP request
|
* @param request The HTTP request
|
||||||
* @return The current content item
|
* @return The current content item
|
||||||
*
|
*
|
||||||
* @deprecated use com.arsdigita.cms.CMS.getContext().getContentItem()
|
* @ deprecated use com.arsdigita.cms.CMS.getContext().getContentItem()
|
||||||
* instead
|
* instead
|
||||||
* Despite of being deprecated it can not be removed because it
|
* Despite of being deprecated it can not be removed because it
|
||||||
* is required by the interface Resourcehandler which is
|
* is required by the interface Resourcehandler which is
|
||||||
|
|
@ -238,41 +218,41 @@ public class CMSApplicationPage extends Page {
|
||||||
* On the other hand, if deprecated, implementing ResourceHandler
|
* On the other hand, if deprecated, implementing ResourceHandler
|
||||||
* may not be required
|
* may not be required
|
||||||
*/
|
*/
|
||||||
public ContentItem getContentItem(HttpServletRequest request) {
|
// public ContentItem getContentItem(HttpServletRequest request) {
|
||||||
// resets all content item associations
|
// // resets all content item associations
|
||||||
return ContentSectionDispatcher.getContentItem(request);
|
// return ContentSectionDispatcher.getContentItem(request);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch the request-local content item.
|
* Fetch the request-local content item.
|
||||||
*
|
*
|
||||||
* @param state The page state
|
* @param state The pageElement state
|
||||||
* @return The current content item
|
* @return The current content item
|
||||||
* @deprecated use com.arsdigita.cms.CMS.getContext().getContentItem()
|
* @ deprecated use com.arsdigita.cms.CMS.getContext().getContentItem()
|
||||||
* instead.
|
* instead.
|
||||||
* Despite of being deprecated it can not be removed because it
|
* Despite of being deprecated it can not be removed because it
|
||||||
* is required by ContentItemPage which extends CMSPage and
|
* is required by ContentItemPage which extends CMSPage and
|
||||||
* uses this method.
|
* uses this method.
|
||||||
*/
|
*/
|
||||||
public ContentItem getContentItem(PageState state) {
|
// public ContentItem getContentItem(PageState state) {
|
||||||
return getContentItem(state.getRequest());
|
// return getContentItem(state.getRequest());
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Services the Bebop page.
|
* Services the Bebop pageElement.
|
||||||
*
|
*
|
||||||
* @param request The servlet request object
|
* @param request The servlet request object
|
||||||
* @param response the servlet response object
|
* @param response the servlet response object
|
||||||
*
|
*
|
||||||
* @pre m_transformer != null
|
* @pre m_transformer != null
|
||||||
*/
|
*/
|
||||||
public void dispatch(final HttpServletRequest request,
|
/* public void dispatch(final HttpServletRequest request,
|
||||||
final HttpServletResponse response // ,
|
final HttpServletResponse response // ,
|
||||||
// RequestContext actx
|
// RequestContext actx
|
||||||
)
|
)
|
||||||
throws IOException, ServletException {
|
throws IOException, ServletException {
|
||||||
|
|
||||||
DeveloperSupport.startStage("CMSPage.dispatch: serve page");
|
DeveloperSupport.startStage("CMSPage.dispatch: serve pageElement");
|
||||||
|
|
||||||
CMSExcursion excursion = new CMSExcursion() {
|
CMSExcursion excursion = new CMSExcursion() {
|
||||||
public void excurse() throws IOException, ServletException {
|
public void excurse() throws IOException, ServletException {
|
||||||
|
|
@ -331,21 +311,35 @@ public class CMSApplicationPage extends Page {
|
||||||
try {
|
try {
|
||||||
excursion.run();
|
excursion.run();
|
||||||
} finally {
|
} finally {
|
||||||
DeveloperSupport.endStage("CMSPage.dispatch: serve page");
|
DeveloperSupport.endStage("CMSPage.dispatch: serve pageElement");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overwrites bebop.Page#generateXMLHelper to add the name of the user
|
||||||
|
* logged in to the pageElement (displayed as part of the header).
|
||||||
|
* @param ps
|
||||||
|
* @param parent
|
||||||
|
* @return pageElement for use in generateXML
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected Element generateXMLHelper(PageState ps, Document parent) {
|
protected Element generateXMLHelper(PageState ps, Document parent) {
|
||||||
|
|
||||||
Element page = super.generateXMLHelper(ps,parent);
|
/* Retain elements already included. */
|
||||||
|
Element pageElement = super.generateXMLHelper(ps,parent);
|
||||||
|
|
||||||
|
/* Add name of user logged in. */
|
||||||
|
// Note: There are at least 2 ways in the API to determin the user
|
||||||
|
// TODO: Check for differences, determin the best / recommended way and
|
||||||
|
// document it in the classes. Probably remove one ore the other
|
||||||
|
// way from the API if possible.
|
||||||
User user = (User) Kernel.getContext().getParty();
|
User user = (User) Kernel.getContext().getParty();
|
||||||
|
// User user = Web.getContext().getUser();
|
||||||
if ( user != null ) {
|
if ( user != null ) {
|
||||||
page.addAttribute("name",user.getDisplayName());
|
pageElement.addAttribute("name",user.getDisplayName());
|
||||||
}
|
}
|
||||||
|
|
||||||
return page;
|
return pageElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,16 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.ui;
|
package com.arsdigita.cms.ui;
|
||||||
|
|
||||||
import com.arsdigita.cms.ContentSection;
|
|
||||||
import com.arsdigita.bebop.form.DHTMLEditor;
|
import com.arsdigita.bebop.form.DHTMLEditor;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
|
||||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
import com.arsdigita.cms.ContentSection;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
public class CMSDHTMLEditor extends DHTMLEditor {
|
public class CMSDHTMLEditor extends DHTMLEditor {
|
||||||
|
|
||||||
public CMSDHTMLEditor(String name) {
|
public CMSDHTMLEditor(String name) {
|
||||||
|
|
|
||||||
|
|
@ -24,16 +24,14 @@ import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.ContentType;
|
import com.arsdigita.cms.ContentType;
|
||||||
|
import com.arsdigita.cms.ui.CMSApplicationPage;
|
||||||
import com.arsdigita.cms.ui.GlobalNavigation;
|
import com.arsdigita.cms.ui.GlobalNavigation;
|
||||||
import com.arsdigita.cms.ui.ItemSearch;
|
import com.arsdigita.cms.ui.ItemSearch;
|
||||||
import com.arsdigita.cms.ui.WorkspaceContextBar;
|
import com.arsdigita.cms.ui.WorkspaceContextBar;
|
||||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||||
import com.arsdigita.kernel.User;
|
|
||||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||||
import com.arsdigita.ui.DebugPanel;
|
import com.arsdigita.ui.DebugPanel;
|
||||||
import com.arsdigita.web.Web;
|
|
||||||
import com.arsdigita.xml.Document;
|
|
||||||
import com.arsdigita.xml.Element;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -49,7 +47,7 @@ import org.apache.log4j.Logger;
|
||||||
* @author Peter Boy (pboy@barkhof.uni-bremen.de)
|
* @author Peter Boy (pboy@barkhof.uni-bremen.de)
|
||||||
* @version $Id: MainPage.java pboy $
|
* @version $Id: MainPage.java pboy $
|
||||||
*/
|
*/
|
||||||
public class MainPage extends Page implements ActionListener {
|
public class MainPage extends CMSApplicationPage implements ActionListener {
|
||||||
|
|
||||||
private static final Logger s_log = Logger.getLogger(MainPage.class);
|
private static final Logger s_log = Logger.getLogger(MainPage.class);
|
||||||
|
|
||||||
|
|
@ -109,7 +107,8 @@ public class MainPage extends Page implements ActionListener {
|
||||||
add(new DebugPanel());
|
add(new DebugPanel());
|
||||||
|
|
||||||
/* Page complete, locked now. */
|
/* Page complete, locked now. */
|
||||||
lock();
|
// lock();
|
||||||
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -168,11 +167,8 @@ public class MainPage extends Page implements ActionListener {
|
||||||
* attribute to "CMS Admin." This implementation also adds tasks,
|
* attribute to "CMS Admin." This implementation also adds tasks,
|
||||||
* content sections, and search panes.
|
* content sections, and search panes.
|
||||||
*
|
*
|
||||||
*<p>
|
* Developers can override this method to add only the tabs they want,
|
||||||
*
|
* or to add additional tabs after the default CMS tabs are added.
|
||||||
* Developers can override this method to add only the tabs they
|
|
||||||
* want, or to add additional tabs after the default CMS tabs are
|
|
||||||
* added.
|
|
||||||
**/
|
**/
|
||||||
protected TabbedPane createTabbedPane() {
|
protected TabbedPane createTabbedPane() {
|
||||||
TabbedPane pane = new TabbedPane();
|
TabbedPane pane = new TabbedPane();
|
||||||
|
|
@ -216,31 +212,4 @@ public class MainPage extends Page implements ActionListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Overwrites bebop.Page#generateXMLHelper to add the name of the user
|
|
||||||
* logged in to the page (displayed as part of the header).
|
|
||||||
* @param ps
|
|
||||||
* @param parent
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
// ToDo: This code fragment is used by several pages of CMS package. It
|
|
||||||
// should be factored out into a kind of CMSBasePage, as it had been in
|
|
||||||
// the deprecated CMSPage.
|
|
||||||
// Should be checked when refactoring the content section pages to work
|
|
||||||
// as bebop pages without dispatcher mechanism and in new style application.
|
|
||||||
@Override
|
|
||||||
protected Element generateXMLHelper(PageState ps, Document parent) {
|
|
||||||
|
|
||||||
/* Retain elements already included. */
|
|
||||||
Element page = super.generateXMLHelper(ps,parent);
|
|
||||||
|
|
||||||
/* Add name of user logged in. */
|
|
||||||
User user = Web.getContext().getUser();
|
|
||||||
if ( user != null ) {
|
|
||||||
page.addAttribute("name",user.getDisplayName());
|
|
||||||
}
|
|
||||||
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue