/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.vertical.engine; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.w3c.dom.Document; import com.enonic.vertical.engine.handlers.CategoryHandler; import com.enonic.vertical.engine.handlers.CommonHandler; import com.enonic.vertical.engine.handlers.ContentHandler; import com.enonic.vertical.engine.handlers.ContentObjectHandler; import com.enonic.vertical.engine.handlers.GroupHandler; import com.enonic.vertical.engine.handlers.LanguageHandler; import com.enonic.vertical.engine.handlers.LogHandler; import com.enonic.vertical.engine.handlers.MenuHandler; import com.enonic.vertical.engine.handlers.PageHandler; import com.enonic.vertical.engine.handlers.PageTemplateHandler; import com.enonic.vertical.engine.handlers.SectionHandler; import com.enonic.vertical.engine.handlers.SecurityHandler; import com.enonic.vertical.engine.handlers.UserHandler; import com.enonic.cms.framework.xml.XMLDocument; import com.enonic.cms.core.content.category.CategoryKey; import com.enonic.cms.core.security.user.User; @Component("presentationEngine") public class PresentationEngine extends BaseEngine implements InitializingBean { private CategoryHandler categoryHandler; private CommonHandler commonHandler; private ContentHandler contentHandler; private ContentObjectHandler contentObjectHandler; private GroupHandler groupHandler; private LanguageHandler languageHandler; private LogHandler logHandler; private MenuHandler menuHandler; private PageHandler pageHandler; private PageTemplateHandler pageTemplateHandler; private SectionHandler sectionHandler; private SecurityHandler securityHandler; private UserHandler userHandler; public void afterPropertiesSet() throws Exception { init(); } private void init() { // event listeners menuHandler.addListener( logHandler ); } public CategoryHandler getCategoryHandler() { return categoryHandler; } public CommonHandler getCommonHandler() { return commonHandler; } public ContentHandler getContentHandler() { return contentHandler; } public ContentObjectHandler getContentObjectHandler() { return contentObjectHandler; } public GroupHandler getGroupHandler() { return groupHandler; } public LanguageHandler getLanguageHandler() { return languageHandler; } public LogHandler getLogHandler() { return logHandler; } public MenuHandler getMenuHandler() { return menuHandler; } public PageHandler getPageHandler() { return pageHandler; } public PageTemplateHandler getPageTemplateHandler() { return pageTemplateHandler; } public SectionHandler getSectionHandler() { return sectionHandler; } public SecurityHandler getSecurityHandler() { return securityHandler; } public UserHandler getUserHandler() { return userHandler; } public XMLDocument getSuperCategoryNames( int categoryKey, boolean withContentCount, boolean includeCategory ) { return categoryHandler.getSuperCategoryNames( CategoryKey.parse( categoryKey ), withContentCount, includeCategory ); } public Document getCategories( User user, int key, int levels, boolean topLevel, boolean details, boolean catCount, boolean contentCount ) { return getCategoryHandler().getCategories( checkUser( user ), CategoryKey.parse( key ), levels, topLevel, details, catCount, contentCount ); } /** * Checks if user is set and returns the user if not null, otherwise returns the anonymous user. * * @param user The user to check. * @return If the user passed in was <code>null</code>, the anonymous user, otherwise, the same user as was passed in. */ private User checkUser( User user ) { if ( user == null ) { return userHandler.getAnonymousUser(); } else { return user; } } @Autowired public void setCategoryHandler( CategoryHandler categoryHandler ) { this.categoryHandler = categoryHandler; } @Autowired public void setCommonHandler( CommonHandler commonHandler ) { this.commonHandler = commonHandler; } @Autowired public void setContentHandler( ContentHandler contentHandler ) { this.contentHandler = contentHandler; } @Autowired public void setContentObjectHandler( ContentObjectHandler contentObjectHandler ) { this.contentObjectHandler = contentObjectHandler; } @Autowired public void setGroupHandler( GroupHandler groupHandler ) { this.groupHandler = groupHandler; } @Autowired public void setLanguageHandler( LanguageHandler languageHandler ) { this.languageHandler = languageHandler; } @Autowired public void setLogHandler( LogHandler logHandler ) { this.logHandler = logHandler; } @Autowired public void setMenuHandler( MenuHandler menuHandler ) { this.menuHandler = menuHandler; } @Autowired public void setPageHandler( PageHandler pageHandler ) { this.pageHandler = pageHandler; } @Autowired public void setPageTemplateHandler( PageTemplateHandler pageTemplateHandler ) { this.pageTemplateHandler = pageTemplateHandler; } @Autowired public void setSectionHandler( SectionHandler sectionHandler ) { this.sectionHandler = sectionHandler; } @Autowired public void setSecurityHandler( SecurityHandler securityHandler ) { this.securityHandler = securityHandler; } @Autowired public void setUserHandler( UserHandler userHandler ) { this.userHandler = userHandler; } }