I'm getting lost in how to make a custom lifecycle (NOT a phase listener) after searching through the MyFaces v1.1.1 code. I was thinking of changing the lifecycleImpl.java class to alter execute()'s restoreView() to try setting different values between setViewId(String) and setViewRoot(String). The more I look into things the more I'm confused. My 3 big questions right now are:
1. Why can't I set the lifecycle class directly in the config file? What is the point of having the factory class instead of just setting (in JSF v1.1) the lifecycle implementation in the <application /> section of the faces config? 2. Why is there a webapp init variable for the lifecycleFactory when stuff only gets added as the string "DEFAULT"? Is this so you can put he MyFaces jars in a central location then each webapp's listener can add it's own lifecycle factory under it's own key? That way /appone can use one lifecycleFactory different from /apptwo so they do different things in different steps but use the same generic myfaces jar/classes? I understand this is in the spec for JSF v1.2 for that very purpose plus additionally letting different servlet mappings in the same webapp set which lifecycle to use (i.e. for mapping different JSF servlets for *.jsf, *.ajax, *.source, etc.) but MyFaces isn't there yet. (Note: just found a java/ibm developerworks page on patterns so the factory idea makes a little more sense I just wish I knew where I should add my own factory.) 3. Are there any examples for changing the lifecycle (not adding PhaseListeners) or lifecycleFactory because I'm not finding them in the MyFaces codebase (not on the keywords I'm using to search in via Eclipse 3.1.1) or with the keywords I've been trying in various search engines. Thank you for taking a moment on this complicated JSF question. Regards, David

