Its really easy to use a customised EventContext.

create component that extends ModelGlue.gesture.eventrequest.EventContext
add your paramValue method to it
add this to your apps coldspring.xml

<bean id="modelglue.eventContextFactory"
class="ModelGlue.gesture.eventrequest.EventContextFactory">
<property name="modelGlue"><ref bean="modelglue.ModelGlue"/></property>
 <property name="statePersister"><ref
bean="modelglue.statePersister"/></property>
<property name="viewRenderer"><ref
bean="modelglue.viewRenderer"/></property>
 <property name="beanPopulator"><ref
bean="modelglue.beanPopulator"/></property>
<property name="logWriter"><ref bean="modelglue.logWriter"/></property>

<!-- path to your EventContext in here -->
<property
name="objectPath"><value>com.myapp.myfancyeventcontext</value></property>
</bean>

Chris

On 19 December 2011 14:25, Robert Rawlins <[email protected]> wrote:

> Hi Dan,
>
> You're quite right - it does sort of do it. I use the getValue default
> argument on a regular basis within my views - but I hadn't realised that it
> would set the value too if it didn't already exist before returning it.
>
> This will certainly do the job - it just looks a little odd from a
> semantic point of view within the controller. Calling get when what I'm
> really intending to do it set.
>
> Given that it's a simple implementation do you think there is a case for
> adding a new method to the API as I suggested? It would make code within
> the controller more meaningful if I was calling pramValue() I think.
>
> Robert
>
> On 19 Dec 2011, at 14:11, Dan Wilson wrote:
>
> I think the event.getValue() method sort of does this.
>
> Take a look here:
> http://docs.model-glue.com/wiki/ReferenceMaterials/EventApi#GetValuename:stringdefault:any
>
>
>
>
> DW
>
> On Mon, Dec 19, 2011 at 7:11 AM, Rawlins <[email protected]> wrote:
>
>> Hello Guys,
>>
>> I'm finding myself with an increasing need to param a value into the
>> event (set it only if it does not already exist).
>>
>> One example use case for this is form validation.
>>
>> In my controller method for the form I need a validation result object,
>> which contains all the errors and other failure information.
>>
>> This object could come from two places - It could be that the user has
>> been passed back to this form page after a failed validation, with the
>> result object preserved in the event, or if one doesn't already exist and
>> this is the first time viewing the form, I'll create a new result object
>> for them.
>>
>> This results in handler code that looks something like this:
>>
>> <!--- Param the validation result into the object too. --->
>>  <cfif NOT event.valueExists("ValidationResult")>
>> <cfset event.setValue("ValidationResult", Beans.ValidateThis.newResult())
>> />
>>  </cfif>
>>
>> This works just fine, but it's needlessly verbose. I'd like to propose a
>> change to the event object API that makes this much easier - here are a
>> couple of ideas:
>>
>> event.paramValue('name', 'value');
>>
>> or a modification to the current setValue() method, which adds a 3rd
>> argument that defines if the value should be overwritten, if false and a
>> previous value exists for the key then it's left intact.
>>
>> event.setValue("name", "value", false);
>>
>> Does anyone else have some ideas on this? am I looking at this situation
>> in completely the wrong way? does something already exist like this?
>>
>> Thanks.
>>
>> Robert
>>
>> --
>> Model-Glue Sites:
>> Home Page: http://www.model-glue.com
>> Documentation: http://docs.model-glue.com
>> Bug Tracker: http://bugs.model-glue.com
>> Blog: http://www.model-glue.com/blog
>>
>> You received this message because you are subscribed to the Google
>> Groups "model-glue" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/model-glue?hl=en
>
>
>
>
> --
> Plutarch - "The mind is not a vessel to be filled but a fire to be
> kindled."
>
> --
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en
>
>
>  --
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en
>

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to