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
