/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.rendering; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import com.enonic.cms.core.SiteURLResolver; import com.enonic.cms.core.TightestCacheSettingsResolver; import com.enonic.cms.core.portal.cache.PageCacheService; import com.enonic.cms.core.portal.datasource.executor.DataSourceExecutorFactory; import com.enonic.cms.core.portal.instruction.PostProcessInstructionExecutor; import com.enonic.cms.core.portal.livetrace.LivePortalTraceService; import com.enonic.cms.core.portal.rendering.viewtransformer.PageTemplateXsltViewTransformer; import com.enonic.cms.core.resource.ResourceService; import com.enonic.cms.core.structure.SitePropertiesService; import com.enonic.cms.core.time.TimeService; @Component public class PageRendererFactory { @Autowired @Qualifier("pageCacheService") private PageCacheService pageCacheService; @Autowired private DataSourceExecutorFactory datasourceExecutorFactory; @Autowired private ResourceService resourceService; @Autowired private PageTemplateXsltViewTransformer pageTemplateXsltViewTransformer; @Autowired private SitePropertiesService sitePropertiesService; @Autowired private SiteURLResolver siteURLResolver; @Autowired private TightestCacheSettingsResolver tightestCacheSettingsResolver; @Autowired private TimeService timeService; @Autowired private PostProcessInstructionExecutor postProcessInstructionExecutor; @Autowired private LivePortalTraceService livePortalTraceService; public PageRenderer createPageRenderer( PageRendererContext pageRendererContext ) { PageRenderer pageRenderer = new PageRenderer( pageRendererContext, livePortalTraceService ); pageRenderer.setDataSourceExecutorFactory( datasourceExecutorFactory ); pageRenderer.setPageTemplateXsltViewTransformer( pageTemplateXsltViewTransformer ); pageRenderer.setResourceService( resourceService ); pageRenderer.setPageCache( pageCacheService.getPageCacheService( pageRendererContext.getSite().getKey() ) ); pageRenderer.setSiteURLResolver( siteURLResolver ); pageRenderer.setSitePropertiesService( sitePropertiesService ); pageRenderer.setTightestCacheSettingsResolver( tightestCacheSettingsResolver ); pageRenderer.setTimeService( timeService ); pageRenderer.setPostProcessInstructionExecutor( postProcessInstructionExecutor ); return pageRenderer; } }