Folks, I have a serious bug in my app. I am not sure what it is but it is elusive and I am seeing intermittent results. To characterize it all I would be typing alot. I will try to keep it simple. I thought it was fixed last week when Howard successfully advised me to use @Persist... which did cause my app to behave properly by persisting a couple select flags... but just yesterday... everything mysteriously went back to coming apart at the seams with nulls during the initialization process and thereon. And nothign works after the app is rendered.
The app is simple... LAYOUT<==HOME<==GALLERY-COMPONENT The gfallery component is nice and I have it at 85% functional... and hope to publish it for public consumption. I am QA'ing it now. I have been considering tweaking the following... page-pooling flags or caching flagsprod versus dev flagtaking the app apart to shake it out I am not encouraged in the debugger because I am seeing alot of nulls in setupRender... and other early handlers... and then allocated memory on objects.. and then back to nulls... and back and forth... while trying to debug full render cycles. So I will try to attack this with one piece of this... my two select components... Can someone see anything wrong with this handler ? I cant get the eclipse debugger to stop at this handler at all... Gallery.TML <t:Label for="itemsPerPageSelect">Items Per Page</t:Label> <select t:type="Select" t:id="itemsPerPageSelect" t:clientId="itemsPerPageSelect" id="itemsPerPageSelect" t:model="literal:5,10,15,25,50,100,250,500,1000,5000,10000" t:value="itemsPerPage" onchange="galleryForm.submit()" /> <t:Label for="tableColumnsSelect">Table Columns</t:Label> <select t:type="Select" t:id="tableColumnsSelect" id="tableColumnsSelect" model="literal:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,25,50,100" value="tableColumns" onchange="this.form.submit()" /> Gallery.JAVA @Component(id = "itemsPerPageSelect", parameters = { "value=itemsPerPage", "clientId=itemsPerPageSelect" }) private Select itemsPerPageSelect; @OnEvent(value = EventConstants.VALUE_CHANGED, component = "itemsPerPageSelect") public void onActionFromItemsPerPageSelect(Integer value) { } @Component private Select tableColumnsSelect; public Object onValueChangedTableColumnsSelect() { logger.info("In tableColumnsChangeListener : "); onActionFromItemsPerPageSelect(itemsPerPage); return homePage; } I am guessing the trouble might have to do with these select components and their usage. The thread where Howard gave me the advise that got these select components functional is here... http://www.mail-archive.com/users@tapestry.apache.org/msg64452.html And the gallery was working awesome... it quit on me yesterday while QA'ing it. I am wondering what happened between now and then that is currently taking the legs out from under this app. I didn't change much... except add a few comments in the TML... and light tweak code changes... nothing major. I am sifting thru the output markup and what the code has... But still wondering why my select handlers cannot even get a breakpoint. And the null values I see within my eventlink auto-paging-button handlers are discouraging too because they are intermittent... but at least I get breakpoints in my eventlink auto-paging-button event handlers. I am concerned because I am not sure if it is a tapestry but or a semantic coding bug or a page configuration bug... well it seems like a show stopper... But I am hoping to make some ground on it to I can move on. I am happy to post code too. Thanks for any insight or suggestions. Ken And here is a blip from Home.JAVA @Persist @Property private Integer itemsPerPage; @Persist @Property private Integer tableColumns; @Persist @Property private Integer cursor; @SetupRender public void setupRender() { //DevelopmentModeModule moduleDev; //ProductionModeModule moduleProd; if (itemsPerPage == null) { itemsPerPage = 25; } if (tableColumns == null) { tableColumns = 4; } if (cursor == null) { cursor = new Integer ("0"); } } And the actual Gallery component usage Home.TML <t:form t:id="galleryForm" id="galleryForm" clientValidation="true" > <t:errors/> <t:Gallery t:id="galleryWidget" id="galleryWidget" collectionType="coachClass" itemsPerPage="itemsPerPage" tableColumns="tableColumns" cursor="cursor" /> </t:form>