Thiago, it looks like that did the trick. I'm running into a couple issues, sorry to keep bothering you :-/
I'm setting the funding id / name List<Funding> _fundings = session.createCriteria(Funding.class).add(Restrictions.eq("purchaseRequest.id", purchaseRequest.getId())).list(); NEW_FUNDING.setName(NEW_FUNDING_NAME); NEW_FUNDING.setId(OTHER_ID); _fundings.add(OTHER); value encoder works perfectly, and the onChanged method works perfectly for a short period before funding id / name goes null. The funding object still exist though. Any Ideas? public Object onValueChanged(Funding funding) { System.out.println("Change " + funding.getId()); if(funding != null && funding.getName().equals(NEW_FUNDING_NAME)) { return fundingZone.getBody(); } return null; } Also, I need to validate that the other object isn't being selected and committed to the db. I wrote this code within the onValidate method for (LineItem _lineItem : purchaseRequest.getLineItems()) { for(LineItemFunding _lineItemFunding : _lineItem.getLineItemFundings()) { if(lineItemFunding.getFunding().getId() == -1) { _lineItem.getLineItemFundings().remove(_lineItemFunding); } } } and I get the following error java.util.ConcurrentModificationException Hide uninteresting stack frames Stack trace * java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) * java.util.AbstractList$Itr.next(AbstractList.java:343) * org.hibernate.collection.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:580) * com.mycompany.rolemanager.pages.Purchase_Request.onValidateFromPR(Purchase_Request.java:137) * com.mycompany.rolemanager.pages.Purchase_Request$MethodAccess_onValidateFromPR_130c294c1c0.invoke(Purchase_Request$MethodAccess_onValidateFromPR_130c294c1c0.java) * org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52) * org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157) * org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) * com.mycompany.rolemanager.pages.Purchase_Request.dispatchComponentEvent(Purchase_Request.java) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:942) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1075) * org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65) * org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) * org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063) * org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073) * org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:287) * org.apache.tapestry5.corelib.components.Form.fireValidateEvent(Form.java:606) * org.apache.tapestry5.corelib.components.Form.fireValidateFormEvent(Form.java:594) * org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:548) * org.apache.tapestry5.corelib.components.Form$onAction$invocation_130c294d0e0.invokeAdvisedMethod(Form$onAction$invocation_130c294d0e0.java) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:77) * org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) * org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) * org.apache.tapestry5.corelib.components.Form.onAction(Form.java) * org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_130c294c1da.invoke(Form$MethodAccess_onAction_130c294c1da.java) * org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52) * org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157) * org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) * org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:950) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1075) * org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65) * org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) * org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063) * org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073) * org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81) * org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) * $ComponentEventRequestHandler_130c294ac92.handle($ComponentEventRequestHandler_130c294ac92.java) * org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) * $ComponentEventRequestHandler_130c294ac92.handle($ComponentEventRequestHandler_130c294ac92.java) * org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75) * $ComponentEventRequestHandler_130c294ac92.handle($ComponentEventRequestHandler_130c294ac92.java) * org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2583) * $ComponentEventRequestHandler_130c294ac92.handle($ComponentEventRequestHandler_130c294ac92.java) * $ComponentEventRequestHandler_130c294ab4e.handle($ComponentEventRequestHandler_130c294ab4e.java) * org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) * org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39) * $ComponentRequestHandler_130c294ab50.handleComponentEvent($ComponentRequestHandler_130c294ab50.java) * $ComponentRequestHandler_130c294ab35.handleComponentEvent($ComponentRequestHandler_130c294ab35.java) * org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46) * $Dispatcher_130c294ab37.dispatch($Dispatcher_130c294ab37.java) * $Dispatcher_130c294ab30.dispatch($Dispatcher_130c294ab30.java) * org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321) * org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) * $RequestHandler_130c294ab31.service($RequestHandler_130c294ab31.java) * org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984) * $RequestHandler_130c294ab31.service($RequestHandler_130c294ab31.java) * org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974) * $RequestHandler_130c294ab31.service($RequestHandler_130c294ab31.java) * org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) * $RequestHandler_130c294ab31.service($RequestHandler_130c294ab31.java) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81) * org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) * $RequestHandler_130c294ab31.service($RequestHandler_130c294ab31.java) * $RequestHandler_130c294ab27.service($RequestHandler_130c294ab27.java) * org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272) * org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44) * $HttpServletRequestHandler_130c294ab29.service($HttpServletRequestHandler_130c294ab29.java) * org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) * $HttpServletRequestHandler_130c294ab29.service($HttpServletRequestHandler_130c294ab29.java) * org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) * $HttpServletRequestFilter_130c294ab25.service($HttpServletRequestFilter_130c294ab25.java) * $HttpServletRequestHandler_130c294ab29.service($HttpServletRequestHandler_130c294ab29.java) * org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) * $HttpServletRequestHandler_130c294ab29.service($HttpServletRequestHandler_130c294ab29.java) * $HttpServletRequestHandler_130c294ab23.service($HttpServletRequestHandler_130c294ab23.java) * org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) -- View this message in context: http://tapestry.1045711.n5.nabble.com/T5-Select-Menu-with-Other-Option-tp4520881p4521934.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org