Hi all: I have been struggling all day to understand the features provided by Shale. Here's what i have so far:
I have a new skeletal project with just the jars in usecases.war in my WEB-INF/lib and 2 trivial jsps. index.jsp which forwards to logon.faces. logon.jsp is a usual logon page with un/pw stuff. I have a LogonAction class (using org.apache.shale.usecases.profile .LogonActions) which extends AbstractViewController. From the API docs for ViewController: "having your backing beans implement this interface (typically by extending AbstractViewController) will receive the benefit of the extra services described by this interface, all of which will be provided automatically." So I took that to mean that Shale has provided me with this nice AbstractViewController so all I gotta do is exend it...? So, in my LogonAction I implemented init(), prerender() and preprocess() methods with trivial code. However, none of these methods are ever getting called. (The LogonAction.logon method however *is* getting called...) There's more stuff in the docs about: To be useful, the ViewController must be plugged into the application lifecycle through a custom JSF ViewHandler, like the ShaleViewHandler" So am I supposed to plug the LogonAction to ShaleViewHandler? How do I do that? (I didn't understand the docs here - and I can explain why but this is already a very long message so will desist..) Plus there's stuff about "registering" my ViewController bean. But I had rather hoped that extending AbstractViewController would mean I wouldn't have to do that explicitly..? I have looked at the logon stuff in faces-confing.xml in usecases.war but am afraid have drawn a blank..Kinda stuck at this point..(:( Can someone please help me see what i am missing? Many thanks in advance! Geeta p.s. my faces-config.xml looks like this: <managed-bean> <managed-bean-name>profile$logon</managed-bean-name> <managed-bean-class> com.intellicare.shaleNShark.logon.LogonAction </managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <description> Session scope attribute key under which the User instance for a logged on user is stored. </description> <display-name>User Key</display-name> <property-name>userKey</property-name> <property-class>java.lang.String</property-class> <value>user</value> </managed-property> </managed-bean> <navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>authenticated</from-outcome> <to-view-id>/success.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>unauthenticated</from-outcome> <to-view-id>/failure.jsp</to-view-id> </navigation-case> </navigation-rule>