On Feb 1, 2011, at 10:54 AM, Raghavender wrote:

> Hi Chuck,
> 
> I have implemented AjaxTabbedPanel with eight AjaxTabbedPanelTab 's,  in each 
> Tab I am loading a component page.  And in that component page I have next 
> submit button that takes the user input data from this page to next component 
> page.  In this way I have to keep navigating to three to four component pages 
> in each AjaxTabbedPanelTab.  All these three or four component pages should 
> be keep navigating in the same AjaxTabbedPanelTab.  For example a Admin User 
> selects a "Test Results" tab, and in that Tab the District selection page is 
> displayed, after the district is selected then user clicks on next button to 
> move to School selection page then move to next page for Students selection 
> and finally generates a report.
> All these component pages are extended ERXComponent and now in order to 
> achieve complete Ajax based application and keep tracking of data while 
> navigating from one page to another in the same AjaxTabbedPanelTab, what 
> changes have to be made, please suggest.

My best suggestion is to come up with a better UI!.  What  you want to do might 
"just work" if you manipulate the selected bindings in code.  


Chuck



> On 31-Jan-11, at 11:54 PM, Chuck Hill wrote:
> 
>> 
>> On Jan 31, 2011, at 7:19 AM, Raghavender wrote:
>> 
>>> Hi Chuck,
>>> 
>>> I have loaded a component page in the AjaxTabbedPannedTab, in that page 
>>> when I am trying to do some action (in that subcomponent page) then the 
>>> page is getting cleared off.
>>> 
>>> Any suggestions.
>> 
>> Make sure that isSelected is bound to a boolean variable.
>> 
>> 
>> Chuck
>> 
>>> On 29-Jan-11, at 10:15 AM, Raghavender wrote:
>>> 
>>>> Thanks a lot Chuck,  I have updated Wonder frameworks and the issue got 
>>>> resolved.  Now I am able to see the AjaxTabbedPannel and Tabs.
>>>> 
>>>> Thanks,
>>>> Raghu.
>>>> 
>>>> On 29-Jan-11, at 8:27 AM, Chuck Hill wrote:
>>>> 
>>>>>> Caused by: java.lang.NullPointerException
>>>>>>    at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94)
>>>>> 
>>>>> I have no idea what you have on that line, that is an old version.    
>>>>> Check your source at that line.    Or update Wonder and see if the 
>>>>> problem goes away.
>>>>> 
>>>>> 
>>>>> Chuck
>>>>> 
>>>>> 
>>>>> On Jan 28, 2011, at 6:09 PM, Raghavender wrote:
>>>>> 
>>>>>> Hi Chuck,
>>>>>> 
>>>>>>>>        WOActionResults res = super.invokeAction(aRequest, aContext);
>>>>>>>> ...
>>>>>>>>           return ((WOComponent)res);    //  Exception occurring at 
>>>>>>>> this line-151.
>>>>>>> 
>>>>>> 
>>>>>> I have changed the casting from WOResponse to WOComponent, and now the 
>>>>>> error in the Session invokeAction(. .) method is not occurring.  But the 
>>>>>> exception (InvokeTargetException) is occurring in the my Application's 
>>>>>> dispatchRequest(.) method, getting the following exception:
>>>>>> 
>>>>>> Also I see a NullPointerException from the AjaxTabbedPanel class at the 
>>>>>> end of the following exception:
>>>>>> -------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>> 29193 [WorkerThread15] INFO NSLog  - <DDStartPage name: DDStartPage 
>>>>>> subcomponents: null >
>>>>>> 29203 [WorkerThread15] WARN NSLog  - 
>>>>>> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception 
>>>>>> occurred while handling request:
>>>>>> com.webobjects.foundation.NSForwardException 
>>>>>> [java.lang.reflect.InvocationTargetException] 
>>>>>> null:java.lang.reflect.InvocationTargetException
>>>>>> [2011-1-28 14:16:3 EST] <WorkerThread15> 
>>>>>> com.webobjects.foundation.NSForwardException 
>>>>>> [java.lang.reflect.InvocationTargetException] 
>>>>>> null:java.lang.reflect.InvocationTargetException
>>>>>>    at 
>>>>>> com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:600)
>>>>>>    at 
>>>>>> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:620)
>>>>>>    at 
>>>>>> com.webobjects.appserver.WOApplication.dynamicElementWithName(WOApplication.java:2404)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLWebObjectTag._elementWithClass(WOHTMLWebObjectTag.java:179)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLWebObjectTag._elementWithDeclaration(WOHTMLWebObjectTag.java:234)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLWebObjectTag.dynamicElement(WOHTMLWebObjectTag.java:155)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOBundleComponentTemplateParser.didParseClosingWebObjectTag(WOBundleComponentTemplateParser.java:68)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLParser.didParseClosingWebObjectTag(WOHTMLParser.java:194)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLParser.endOfWebObjectTag(WOHTMLParser.java:161)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLParser.parseHTML(WOHTMLParser.java:68)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOBundleComponentTemplateParser.parse(WOBundleComponentTemplateParser.java:109)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOHTMLTemplateParser.parse(WOHTMLTemplateParser.java:40)
>>>>>>    at 
>>>>>> com.webobjects.appserver.parser.WOComponentTemplateParser.templateWithHTMLAndDeclaration(WOComponentTemplateParser.java:438)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentDefinition.template(WOComponentDefinition.java:364)
>>>>>>    at com.webobjects.appserver.WOComponent.template(WOComponent.java:499)
>>>>>>    at 
>>>>>> com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1112)
>>>>>>    at 
>>>>>> er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:107)
>>>>>>    at 
>>>>>> com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385)
>>>>>>    at 
>>>>>> er.extensions.appserver.ERXSession.appendToResponse(ERXSession.java:540)
>>>>>>    at 
>>>>>> com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.java:1794)
>>>>>>    at 
>>>>>> er.extensions.appserver.ERXApplication.appendToResponse(ERXApplication.java:1704)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:242)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
>>>>>>    at 
>>>>>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>>>>>    at 
>>>>>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1802)
>>>>>>    at 
>>>>>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1767)
>>>>>>    at Application.dispatchRequest(Application.java:505)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>>>>>    at 
>>>>>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>>>>>    at java.lang.Thread.run(Thread.java:619)
>>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>>    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
>>>>>> Method)
>>>>>>    at 
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>>    at 
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>>    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>>    at 
>>>>>> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:614)
>>>>>>    ... 31 more
>>>>>> Caused by: java.lang.NullPointerException
>>>>>>    at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94)
>>>>>>    at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:107)
>>>>>>    at er.ajax.AjaxTabbedPanel.<init>(AjaxTabbedPanel.java:75)
>>>>>>    ... 36 more
>>>>>> 
>>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>> 
>>>>>> Adding my Application's dispatchRequest(.) method code:
>>>>>> 
>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>> public WOResponse dispatchRequest(WORequest aRequest){
>>>>>>          //here we basically want to capture one recently served perfect 
>>>>>> request, so to get to this, we'll check the request as follows.
>>>>>>          if(recentlyServedPerfectReq == null || 
>>>>>> canResetRecentlyServedPerfectReq || 
>>>>>> (recentlyServedPerfectReq.sessionID() != null && aRequest.sessionID() != 
>>>>>> null
>>>>>>                          && 
>>>>>> recentlyServedPerfectReq.sessionID().equals(aRequest.sessionID()) == 
>>>>>> false))
>>>>>>          {
>>>>>>                  recentlyServedPerfectReq = aRequest;
>>>>>>                  canResetRecentlyServedPerfectReq = 
>>>>>> (recentlyServedPerfectReq.sessionID() == null);
>>>>>>          }
>>>>>> 
>>>>>>        // first check if the session is created for this Request
>>>>>>        // Session not created means, first time user
>>>>>>          
>>>>>> System.out.println("aRequest.sessionID()---->>>>>>"+aRequest.sessionID());
>>>>>>   // Session is not null, printing the session ID
>>>>>>        if(aRequest.sessionID() == null || (aRequest.sessionID() != null 
>>>>>> && aRequest.formValueForKey(".loginPage") != null) ||  
>>>>>> (aRequest.sessionID() != null && aRequest.formValueForKey(".homePage") 
>>>>>> != null) || (aRequest.sessionID() != null && 
>>>>>> aRequest.formValueForKey(".exitPage") != null)){
>>>>>>            //This is the case where the session is not created Yet or 
>>>>>> the first page is not LoginPage
>>>>>>            return super.dispatchRequest(aRequest);    // Exception is 
>>>>>> occurring at this line-505.
>>>>>>        }else if(aRequest.sessionID() != null && 
>>>>>> aRequest.cookieValueForKey(aRequest.sessionID()) != null){
>>>>>>            // This is the case where the session is created and there is 
>>>>>> a cookie created in this request
>>>>>>            // check to see if the cookie matches the one that's set
>>>>>>            String userNameInSes = "";
>>>>>>            String hostNameInReq = "";
>>>>>>            String cookieValue = 
>>>>>> aRequest.cookieValueForKey(aRequest.sessionID());
>>>>>>            if(this.sessionStore() != null && 
>>>>>> this.sessionStore().restoreSessionWithID(aRequest.sessionID(),aRequest) 
>>>>>> != null){
>>>>>>                userNameInSes = 
>>>>>> ((Session)this.sessionStore().restoreSessionWithID(aRequest.sessionID(),aRequest)).loginUser().fullName();
>>>>>>                hostNameInReq = getHostNameFromRequest(aRequest);
>>>>>> 
>>>>>> 
>>>>>>                //System.out.println(" Cookie Value Constructed from 
>>>>>> session and request values= " + userNameInSes+hostNameInReq);
>>>>>> 
>>>>>>                // check to see if the value of cookie is same as that 
>>>>>> obtained now
>>>>>>                if((userNameInSes+hostNameInReq).equals(cookieValue)){
>>>>>>                    // success. Send the user to the respective Page
>>>>>>                    return super.dispatchRequest(aRequest);
>>>>>> 
>>>>>>                }
>>>>>>            }
>>>>>> 
>>>>>>        }
>>>>>>        // Any of the case doesn'e match, send the user to the login Page.
>>>>>>        WOResponse res = new WOResponse();
>>>>>>        WOComponent redirectPage = 
>>>>>> pageWithName("Main",createContextForRequest(aRequest));
>>>>>>        WOResponse resp = redirectPage.generateResponse();
>>>>>>        res.setContent(resp.contentString());
>>>>>>        //res.setContent("<html><body><h1>Error</h1></body></html>");
>>>>>>        return res;
>>>>>>    }
>>>>>> 
>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>> 
>>>>>> Regards,
>>>>>> Raghu.
>>>>>> 
>>>>>> On 28-Jan-11, at 10:15 PM, Chuck Hill wrote:
>>>>>> 
>>>>>>>>        WOActionResults res = super.invokeAction(aRequest, aContext);
>>>>>>>> ...
>>>>>>>>           return ((WOResponse)res);    //  Exception occurring at this 
>>>>>>>> line-151.
>>>>>>> 
>>>>>>> Perhaps if you cast correctly? The issue is with your code, not 
>>>>>>> AjaxTabbedPanel.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Jan 28, 2011, at 6:53 AM, Raghavender wrote:
>>>>>>> 
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>>        I am trying to implement Project Wonder's AjaxTabbedPanel and 
>>>>>>>> AjaxTabbedPanelTab in my application by following the Wonder Ajax 
>>>>>>>> Examples from the link 
>>>>>>>> http://webobjects.mdimension.com/cgi-bin/WebObjects/AjaxExample.woa/1 
>>>>>>>> .  But after added these AjaxTabbedPanel and AjaxTabbedPanelTab in my 
>>>>>>>> component's html and wod files then my page is not loading, getting 
>>>>>>>> the following exception:
>>>>>>>>        
>>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>> 23848 [WorkerThread15] WARN NSLog  - 
>>>>>>>> <com.webobjects.appserver._private.WOComponentRequestHandler>: 
>>>>>>>> Exception occurred while handling request:
>>>>>>>> java.lang.ClassCastException: DDStartPage cannot be cast to 
>>>>>>>> com.webobjects.appserver.WOResponse
>>>>>>>> [2011-1-28 9:42:11 EST] <WorkerThread15> java.lang.ClassCastException: 
>>>>>>>> DDStartPage cannot be cast to com.webobjects.appserver.WOResponse
>>>>>>>>   at Session.invokeAction(Session.java:151)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1745)
>>>>>>>>   at 
>>>>>>>> er.extensions.appserver.ajax.ERXAjaxApplication.invokeAction(ERXAjaxApplication.java:50)
>>>>>>>>   at 
>>>>>>>> er.extensions.appserver.ERXApplication.invokeAction(ERXApplication.java:1687)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:206)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>>>>>>>   at 
>>>>>>>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1802)
>>>>>>>>   at 
>>>>>>>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1767)
>>>>>>>>   at Application.dispatchRequest(Application.java:503)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>>>>>>>   at 
>>>>>>>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>>>>>>>   at java.lang.Thread.run(Thread.java:619)
>>>>>>>> 
>>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>> 
>>>>>>>> My Application and Session classes extends ERXApplication and 
>>>>>>>> ERXSession classes.
>>>>>>>> 
>>>>>>>> Any help would be appreciated.
>>>>>>>> 
>>>>>>>> Also adding my Session class invokeAction method code:
>>>>>>>> 
>>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>> public WOActionResults  invokeAction(WORequest aRequest, WOContext 
>>>>>>>> aContext) {
>>>>>>>> 
>>>>>>>>   WOElement element = 
>>>>>>>> (WOElement)requestLookup.objectForKey(aRequest.uri());
>>>>>>>>    if ( element == null ) {
>>>>>>>>        WOActionResults res = super.invokeAction(aRequest, aContext);
>>>>>>>>        try{
>>>>>>>>        element = ((WOComponent)res).template();
>>>>>>>>        }catch(Exception e){
>>>>>>>>         e.printStackTrace();
>>>>>>>>            return ((WOResponse)res);    //  Exception occurring at 
>>>>>>>> this line-151.
>>>>>>>>        }
>>>>>>>>        if (res!=null && element != null && 
>>>>>>>> !isReportMillComponent(element)) {
>>>>>>>>            requestLookup.setObjectForKey(element, aRequest.uri());
>>>>>>>> 
>>>>>>>>        }
>>>>>>>>        return res;
>>>>>>>>    }
>>>>>>>>    else if ( element instanceof WOComponent ){
>>>>>>>>        ((WOComponent)element).ensureAwakeInContext(aContext);
>>>>>>>>        return (WOComponent)element;
>>>>>>>> 
>>>>>>>>    }
>>>>>>>>    return null;
>>>>>>>> }
>>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Raghu.
>>>>>>>> _______________________________________________
>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>> Webobjects-dev mailing list      ([email protected])
>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>>>>>>> 
>>>>>>>> This email sent to [email protected]
>>>>>>> 
>>>>>>> -- 
>>>>>>> Chuck Hill             Senior Consultant / VP Development
>>>>>>> 
>>>>>>> Practical WebObjects - for developers who want to increase their 
>>>>>>> overall knowledge of WebObjects or who are trying to solve specific 
>>>>>>> problems.
>>>>>>> http://www.global-village.net/products/practical_webobjects
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> -- 
>>>>> Chuck Hill             Senior Consultant / VP Development
>>>>> 
>>>>> Practical WebObjects - for developers who want to increase their overall 
>>>>> knowledge of WebObjects or who are trying to solve specific problems.
>>>>> http://www.global-village.net/products/practical_webobjects
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> -- 
>> Chuck Hill             Senior Consultant / VP Development
>> 
>> Practical WebObjects - for developers who want to increase their overall 
>> knowledge of WebObjects or who are trying to solve specific problems.
>> http://www.global-village.net/products/practical_webobjects
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/products/practical_webobjects







Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to