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>
                                          

Reply via email to