Example #1
0
        ///<summary>
        ///Appends the standard naming context for evaluating an OGNL expression
        ///into the context given so that cached maps can be used as a context.
        ///</summary>
        ///<param name="root"> the root of the object graph</param>
        ///<param name="context"> the context to which OGNL context will be added.</param>
        ///<returns>
        ///a new IDictionary with the keys <c>root</c> and <c>context</c>
        ///set appropriately
        ///</returns>
        public static IDictionary addDefaultContext(object root, ClassResolver classResolver, TypeConverter converter, MemberAccess memberAccess, IDictionary context)
        {
            OgnlContext result;

            if (!(context is OgnlContext))
            {
                result = new OgnlContext();
                result.setValues(context);
            }
            else
            {
                result = (OgnlContext)context;
            }
            if (classResolver != null)
            {
                result.setClassResolver(classResolver);
            }
            if (converter != null)
            {
                result.setTypeConverter(converter);
            }
            if (memberAccess != null)
            {
                result.setMemberAccess(memberAccess);
            }
            result.setRoot(root);
            return(result);
        }