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

Reply via email to