public class ModelExecutionFilter
extends info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter
EarlyExecutionAware
interface the callback will instead be made to a dedicated method
making it easier to separate functionality for the two scenarios.
To provide proper semantics this class mirrors functionality in RenderingEngine and AbstractRender, specifically in
how it sets up the current content in aggregation state and creation and execution of the model.AbstractRenderer
,
RequestDispatchUtil
,
EarlyExecutionAware
Modifier and Type | Field and Description |
---|---|
static String |
ACTION_RESULT_ATTRIBUTE_PREFIX |
static String |
DEFAULT_MODEL_EXECUTION_ATTRIBUTE_NAME |
static String |
MODEL_ATTRIBUTE_PREFIX |
Constructor and Description |
---|
ModelExecutionFilter()
Deprecated.
since 5.0 (?), use
ModelExecutionFilter(RendererRegistry, TemplateDefinitionAssignment) . |
ModelExecutionFilter(RendererRegistry rendererRegistry,
TemplateDefinitionAssignment templateDefinitionAssignment) |
Modifier and Type | Method and Description |
---|---|
void |
doFilter(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain) |
protected static info.magnolia.cms.core.AggregationState |
getAggregationStateSafely() |
protected javax.jcr.Node |
getContent(String nodeIdentifier)
Returns the content node for the supplied node identifier.
|
protected String |
getIdentifierOfNodeToExecute() |
protected RenderingModelBasedRenderer |
getRenderingModelBasedRenderer(RenderableDefinition renderableDefinition)
Returns the Renderer for the supplied renderable if it supports RenderingModel.
|
protected TemplateDefinition |
getTemplateDefinition(javax.jcr.Node content)
Returns the TemplateDefinition for the supplied content.
|
protected boolean |
handleExecutionResult(RenderingModel renderingModel,
String actionResult,
TemplateDefinition templateDefinition,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
void |
setAttributeName(String attributeName) |
bypasses, doFilter
acceptsEncoding, acceptsGzipEncoding, addAndVerifyHeader, addBypass, addMapping, destroy, getBypasses, getDispatching, getMapping, getMappings, getName, headerContains, init, isEnabled, mapsTo, matches, matchesDispatching, setBypasses, setDispatching, setEnabled, setMappings, setName
public static final String MODEL_ATTRIBUTE_PREFIX
public static final String ACTION_RESULT_ATTRIBUTE_PREFIX
public static final String DEFAULT_MODEL_EXECUTION_ATTRIBUTE_NAME
@Inject public ModelExecutionFilter(RendererRegistry rendererRegistry, TemplateDefinitionAssignment templateDefinitionAssignment)
@Deprecated public ModelExecutionFilter()
ModelExecutionFilter(RendererRegistry, TemplateDefinitionAssignment)
.public void doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
doFilter
in class info.magnolia.cms.filters.AbstractMgnlFilter
IOException
javax.servlet.ServletException
public void setAttributeName(String attributeName)
protected static info.magnolia.cms.core.AggregationState getAggregationStateSafely()
protected String getIdentifierOfNodeToExecute()
protected javax.jcr.Node getContent(String nodeIdentifier) throws javax.servlet.ServletException
javax.servlet.ServletException
protected TemplateDefinition getTemplateDefinition(javax.jcr.Node content) throws javax.servlet.ServletException
javax.servlet.ServletException
protected RenderingModelBasedRenderer getRenderingModelBasedRenderer(RenderableDefinition renderableDefinition) throws javax.servlet.ServletException
IllegalArgumentException
- if there is no renderer registered for the renderablejavax.servlet.ServletException
- if the renderer does not support RenderingModelprotected boolean handleExecutionResult(RenderingModel renderingModel, String actionResult, TemplateDefinition templateDefinition, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Copyright © 2003–2020 Magnolia International Ltd.. All rights reserved.