/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.processor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.enonic.vertical.engine.handlers.MenuHandler; import com.enonic.cms.core.portal.PageRequestType; import com.enonic.cms.core.portal.PortalAccessService; import com.enonic.cms.core.resolver.deviceclass.DeviceClassResolverService; import com.enonic.cms.core.resolver.locale.LocaleResolverService; import com.enonic.cms.core.structure.SitePropertiesService; import com.enonic.cms.store.dao.ContentDao; import com.enonic.cms.store.dao.PageTemplateDao; import com.enonic.cms.store.dao.SectionContentDao; /** * Sep 29, 2009 */ @Component public class PageRequestProcessorFactory { @Autowired private ContentDao contentDao; @Autowired private SectionContentDao sectionContentDao; @Autowired private PageTemplateDao pageTemplateDao; @Autowired private PortalAccessService portalAccessService; @Autowired private LocaleResolverService localeResolverService; @Autowired private DeviceClassResolverService deviceClassResolverService; @Autowired private SitePropertiesService sitePropertiesService; @Autowired private MenuHandler menuHandler; public AbstractPageRequestProcessor create( PageRequestProcessorContext context ) { final AbstractPageRequestProcessor pageRequestProcessor; final PageRequestType pageRequestType = context.getPageRequestType(); if ( PageRequestType.CONTENT.equals( pageRequestType ) ) { pageRequestProcessor = new ContentRequestProcessor( context ); } else if ( PageRequestType.MENUITEM.equals( pageRequestType ) ) { pageRequestProcessor = new PageRequestProcessor( context ); } else { throw new IllegalArgumentException( "PageRequestType not supported: " + pageRequestType ); } pageRequestProcessor.setContentDao( contentDao ); pageRequestProcessor.setPageTemplateDao( pageTemplateDao ); pageRequestProcessor.setPortalAccessService( portalAccessService ); pageRequestProcessor.setDeviceClassResolverService( deviceClassResolverService ); pageRequestProcessor.setLocaleResolverService( localeResolverService ); pageRequestProcessor.setSectionContentDao( sectionContentDao ); pageRequestProcessor.setSitePropertiesService( sitePropertiesService ); pageRequestProcessor.setMenuHandler( menuHandler ); return pageRequestProcessor; } }