@Override protected void processTraits( Element entity, UIMetawidget metawidget, Object toInspect, String type, String... names ) { FacesContext context = FacesContext.getCurrentInstance(); if ( context == null ) { throw InspectionResultProcessorException.newException( "FacesContext not available to FacesInspectionResultProcessor" ); } Map<String, Object> requestMap = null; try { if ( mInjectThis != null ) { requestMap = context.getExternalContext().getRequestMap(); requestMap.put( UNDERSCORE_THIS_ATTRIBUTE, mInjectThis.traverse( toInspect, type, false, names ).getValue() ); } super.processTraits( entity, metawidget, toInspect, type, names ); } finally { // UNDERSCORE_THIS_ATTRIBUTE should not be available outside of our particular // evaluation if ( requestMap != null ) { requestMap.remove( UNDERSCORE_THIS_ATTRIBUTE ); } } }
@Override protected void processTraits( Element entity, UIMetawidget metawidget, Object toInspect, String type, String... names ) { FacesContext context = FacesContext.getCurrentInstance(); if ( context == null ) { throw InspectionResultProcessorException.newException( "FacesContext not available to FacesInspectionResultProcessor" ); } Map<String, Object> requestMap = null; try { if ( mInjectThis != null ) { requestMap = context.getExternalContext().getRequestMap(); requestMap.put( UNDERSCORE_THIS_ATTRIBUTE, mInjectThis.traverse( toInspect, type, false, names ).getValue() ); } super.processTraits( entity, metawidget, toInspect, type, names ); } finally { // UNDERSCORE_THIS_ATTRIBUTE should not be available outside of our particular // evaluation if ( requestMap != null ) { requestMap.remove( UNDERSCORE_THIS_ATTRIBUTE ); } } }
@Override protected void processTraits( Element entity, M metawidget, Object toInspect, String type, String... names ) { JexlContext context = LOCAL_CONTEXT.get(); try { context.set( THIS_ATTRIBUTE, mInjectThis.traverse( toInspect, type, false, names ).getValue() ); super.processTraits( entity, metawidget, toInspect, type, names ); } finally { // THIS_ATTRIBUTE should not be available outside of our particular evaluation context.set( THIS_ATTRIBUTE, null ); } }
public Element processInspectionResultAsDom( Element inspectionResult, M metawidget, Object toInspect, String type, String... names ) { Element entity = XmlUtils.getFirstChildElement( inspectionResult ); // Sanity check String elementName = entity.getNodeName(); if ( !ENTITY.equals( elementName ) ) { throw InspectionResultProcessorException.newException( "Top-level element name should be " + ENTITY + ", not " + elementName ); } Map<String, String> attributes = XmlUtils.getAttributesAsMap( entity ); processEntity( attributes, metawidget, toInspect, type, names ); XmlUtils.setMapAsAttributes( entity, attributes ); processTraits( entity, metawidget, toInspect, type, names ); return inspectionResult; }
public Element processInspectionResultAsDom( Element inspectionResult, M metawidget, Object toInspect, String type, String... names ) { Element entity = XmlUtils.getFirstChildElement( inspectionResult ); // Sanity check String elementName = entity.getNodeName(); if ( !ENTITY.equals( elementName ) ) { throw InspectionResultProcessorException.newException( "Top-level element name should be " + ENTITY + ", not " + elementName ); } Map<String, String> attributes = XmlUtils.getAttributesAsMap( entity ); processEntity( attributes, metawidget, toInspect, type, names ); XmlUtils.setMapAsAttributes( entity, attributes ); processTraits( entity, metawidget, toInspect, type, names ); return inspectionResult; }
processTraits( trait, metawidget, toInspect, type, ArrayUtils.add( names, attributes.get( NAME ) ) );
processTraits( trait, metawidget, toInspect, type, ArrayUtils.add( names, attributes.get( NAME ) ) );