public void end ( InterpretationContext ec , String name ) { if ( inError ) { return ; } Object o = ec . peekObject ( ) ; if ( o != definer ) { addWarn ( "The object at the of the stack is not the property definer for property named [" + propertyName + "] pushed earlier." ) ; } else { addInfo ( "Popping property definer for property named [" + propertyName + "] from the object stack" ) ; ec . popObject ( ) ; // let's put defined property and value to context but only if it is // not null String propertyValue = definer . getPropertyValue ( ) ; if ( propertyValue != null ) { ActionUtil . setProperty ( ec , propertyName , propertyValue , scope ) ; } } }
Now property definer is initialized by all properties and we can put property value to context