You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Sean Schofield <se...@gmail.com> on 2005/12/15 03:37:22 UTC

Apache Con Talks

I just got back from Apache Con in San Diego.  It was very well
attended (one of the hotel staff told me there were over 500
attendees.)  Of special interest were the two MyFaces sessions
conducted by our own Matthias Wessendorf and Gerald Muellan.

Both MyFaces sessions were extremely well attended.  The first session
was an overview of JSF and what MyFaces brings to the table.  I told
Matthias and Gerald that they could tell the seesion went well because
90% stayed for another hour long session covering Ajax and MyFaces.

Thanks to Matthias and Gerald for making the trip and putting all of
the hard work into the presentation.  I was proud to see them up there
on the stage representing our community.  The large turnout for the
sessions also seemed to mirror the recent trends on our mailing list. 
There was certainly a lot of curiosity for MyFaces if not outright
interest.  Expect more newcomers to the mailing list after those
talks!

There were also some interesting Struts sessions.  The first session
focused on what is now being called the Struts Action framework,
including some details on the recently announced WebWorks merger.  The
second session focused on Struts Shale.  That session was also well
attended.  I had not seen Craig's Shale talk until that point but it
was an excellent overview of the project.  Craig also unveiled a few
new editions that are coming to Shale, some of which he was working on
in between sessions at the conference.

If you are a JSF developer you should definitely keep an eye on where
Shale is headed.  An alpha release is expected shortly and the entire
Struts team is working to collaborate on areas of overlap between the
Action and Shale frameworks.  This combined with more user feedback
should move this project along nicely.  Don't let the "alpha" status
fool you.  This is primarily so the API isn't locked up in the first
release.  Its definitely production ready though.  My team is
currently using it in my day job.

Its an exciting time to be part of the Apache community.  I expect
more great things to come out of the next year.

Re: Apache Con Talks

Posted by Werner Punz <we...@gmx.at>.
Sean Schofield wrote:

> Speaking of second looks, I'm installing Sun Java Studio Creator 2
> (now that its free.)  Craig recommended that I take a look at some of
> the new features.  Be sure to download the latest EA release (you have
> to hunt around for it - its not the standard download.)
> 
Actually I gave the JSC a testrun recently, there is a really nice tool
devloping slowly.
There are some minor quirks but mostly they got the rad thing totally
right this time.


Re: Apache Con Talks

Posted by Werner Punz <we...@gmx.at>.
Martin Marinschek wrote:
> People were saying that Seam gets rid of a layer that was actually
> said to be necessary the last years.
> 
Well given the seam demo, yes, the demo basically meshes
the ui and db layers together.

Not necessarily a bad thing for small apps where BO/DAO is overkill.
But it does not really mean that you cannot use those layers.
It is just that the ui layer is also pushed into the EJB session
bean domain.

But as soon as you hit a certain size it is pretty obvious that you
start to divied the application concerns into separate domains.

> Plus obviously the EJB EG had doubts that the annotation support was
> properly aligned with what EJB 3.0 has to offer.
> 
Understandable because EJB never was intended for view logic bookkeeping
nevertheless the Seam approach eases things tremendously.


Re: Apache Con Talks

Posted by Martin Marinschek <ma...@gmail.com>.
People were saying that Seam gets rid of a layer that was actually
said to be necessary the last years.

Plus obviously the EJB EG had doubts that the annotation support was
properly aligned with what EJB 3.0 has to offer.

regards,

Martin

On 12/15/05, Werner Punz <we...@gmx.at> wrote:
>
> >
> > The Seam session today was full as well, even though there were
> > several objections mouthed against Seam in the questions after the
> > session - so it wasn't all positive there.
> >
> Interesting, what objections?
> To my mind only a handful come to my mind
> a) Too many dependency libs
> b) startup times as it seems in the tomcat example are hilarious :-(
>
> (well there are some pattern issues in the seam examples themselves but
> that is not really seam related)
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Re: Apache Con Talks

Posted by Werner Punz <we...@gmx.at>.
> 
> The Seam session today was full as well, even though there were
> several objections mouthed against Seam in the questions after the
> session - so it wasn't all positive there.
> 
Interesting, what objections?
To my mind only a handful come to my mind
a) Too many dependency libs
b) startup times as it seems in the tomcat example are hilarious :-(

(well there are some pattern issues in the seam examples themselves but
that is not really seam related)


Re: Apache Con Talks

Posted by Sean Schofield <se...@gmail.com>.
> The interest level for the whole session was very high, we got the
> large conference room assigned and that one filled up pretty well
> (around 700 out of 900 seats taken). There weren't any major glitches,
> as far as the session went.

Wow!  That's a huge turnout - especially for a three hour session. 
This shows some serious JSF interest in the community.

> Martin

sean

Re: Component binding is not refreshed?

Posted by Martin Marinschek <ma...@gmail.com>.
Hi Jeremy,

the following snippets should help you:

    private ValueBinding getValueBinding(String expression)
    {
        return FacesContext.getCurrentInstance().getApplication().createValueBinding(expression));
    }

getValueBinding("#{encashmentDetail.encashmentExisting==true}")

regards,

Martin

On 12/21/05, Jeremy Sager <js...@chessys.com> wrote:
> Well, I've gotten the setter method working just fine, but have run into
> another problem immediately.
>
>
> It's really the same problem, but instead of being inside a JSP I'm inside a
> regular Java method:
>
>
>
> public void setPane(HtmlPanelTabbedPane component){
>
>             FacesContext context = FacesContext.getCurrentInstance();
>
>             Application app = context.getApplication();
>
>
>
>             if (pane == null){
>
>                   pane =
> (HtmlPanelTabbedPane)app.createComponent(TABBEDPANE);
>
>             }
>
>
>
>             if (tab == null){
>
>                   tab = (HtmlPanelTab)app.createComponent(PANELTAB);
>
>             }
>
>
>
>             numtimes ++;
>
>             System.out.println("Numtimes = " + numtimes);
>
>             tab.setLabel(Integer.toString(numtimes));
>
>
>
>             System.out.println(tab.getLabel());
>
>
>
>       }
>
>
>
> Now, what I get on the console if I've refreshed 3 times is:
>
>
>
> Numtimes = 3
>
> 3
>
>
>
> But what displays on the tab header is "1".
>
>
>
> Now, I realize this is happening because the tab itself is using the saved
> version that has been restored.
>
>
>
> To get around this, it seems to me like I will need to create a value
> binding for the tab itself, but it's not immediately clear how to do this.
>
>
>
> Now, I see the method in UIComponentBase:
>
>
>
> setValueBinding(java.lang.String name,
> javax.faces.el.ValueBinding binding)
>
>
>
> but... I need to pass in a ValueBinding object, and looking at the javadoc
> for the ValueBinding object, it's not at all clear what I need to do with
> it.
>
>
>
> I guess an alternative way to do this would be to completely recreate the
> tabbed pane every time and add the children back in, but then I'm going to
> lose the state of my child tabs, meaning if work has been done in more than
> one tab and I have to refresh, all that work will be lost, so that's not a
> realistic solution for me.
>
>
>
> What I really need to be able to do is query my child tab in a setter method
> and figure out whether I need to restore state or recreate it, which I can
> handle on my own no problem... I just need to figure out how to
> programmatically bind the tab so that I can get into its setter method.
>
>
>
> Jeremy Sager
>
> Data Communications Product Manager
>
> Chesapeake System Solutions
>
> 410.356.6805 x120
>
> JSager@chessys.com
>
>
>
>
>
> -----Original Message-----
>
> From: Martin Marinschek [mailto:martin.marinschek@gmail.com]
>
> Sent: Monday, December 19, 2005 4:09 PM
>
> To: MyFaces Discussion
>
> Subject: Re: Component binding is not refreshed?
>
>
>
> Hi Jeremy,
>
>
>
> your conclusion is absolutely right. The getter of the method-binding
>
> will only be called once - then the component is recreated from the
>
> saved state, and will not be created by calling your getter.
>
>
>
> You'll understand this if you think about the state saving feature of
>
> JSF - if you would be able to provide a new component at every
>
> request, how would the state saving ever work?
>
>
>
> If you want to change your component, you'll need to provide a
>
> _setter_ for the component, and do the modifications there or in an
>
> action-method (which runs after the setter for the component has been
>
> called, so you can access the actual JSF component there). The setter
>
> will be called on every request!
>
>
>
> regards,
>
>
>
> Martin
>
>
>
> On 12/19/05, Jeremy Sager <js...@chessys.com> wrote:
>
> >
>
> >
>
> >
>
> > Hey guys -
>
> >
>
> >
>
> >
>
> > Thanks in advance for your help.
>
> >
>
> >
>
> >
>
> > I have a panelTabbedPane that I am binding directly to a bean so that I
>
> can
>
> > create the pane programmatically.
>
> >
>
> >
>
> >
>
> > Here is the tag definition:
>
> >
>
> >
>
> >
>
> > <t:panelTabbedPane binding="#{editorPanelBean.pane}"/>
>
> >
>
> >
>
> >
>
> > Now, in my bean, I have the getPane() method. I have included the entire
>
> > class file here (don't worry, it's not big) except for the package and
>
> > import declarations. The IEditorPanelTabBean list can be safely ignored,
>
> > it's not being used.
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > /**
>
> >
>
> >  * @jsf.bean name="editorPanelBean" scope="session"
>
> >
>
> >  */
>
> >
>
> > public class EditorPanelBean {
>
> >
>
> >
>
> >
>
> >       private ArrayList<IEditorPanelTabBean> tabs = new
>
> > ArrayList<IEditorPanelTabBean>();
>
> >
>
> >
>
> >
>
> >       private String TABBEDPANE =
>
> > "org.apache.myfaces.HtmlPanelTabbedPane";
>
> >
>
> >       private String PANELTAB = "org.apache.myfaces.HtmlPanelTab";
>
> >
>
> >
>
> >
>
> >       //private String TABBEDPANE =
>
> > HtmlPanelTabbedPane.class.getName();
>
> >
>
> >       //private String PANELTAB = HtmlPanelTab.class.getName();
>
> >
>
> >
>
> >
>
> >       private UIComponent pane = null;
>
> >
>
> >       private HtmlPanelTab tab = null;
>
> >
>
> >
>
> >
>
> >       private int numtimes = 0;
>
> >
>
> >
>
> >
>
> >       public UIComponent getPane (){
>
> >
>
> >             FacesContext context = FacesContext.getCurrentInstance();
>
> >
>
> >             Application app = context.getApplication();
>
> >
>
> >
>
> >
>
> >             if (pane == null){
>
> >
>
> >                   pane = app.createComponent(TABBEDPANE);
>
> >
>
> >             }
>
> >
>
> >
>
> >
>
> >             if (tab == null){
>
> >
>
> >                   tab = (HtmlPanelTab)app.createComponent(PANELTAB);
>
> >
>
> >             }
>
> >
>
> >
>
> >
>
> >             numtimes ++;
>
> >
>
> >             System.out.println("Numtimes = " + numtimes);
>
> >
>
> >             tab.setLabel(Integer.toString(numtimes));
>
> >
>
> >
>
> >
>
> >             pane.getChildren().add(tab);
>
> >
>
> >
>
> >
>
> >             return pane;
>
> >
>
> >       }
>
> >
>
> >
>
> >
>
> > }
>
> >
>
> >
>
> >
>
> > Now, as you can see, it should be printing out to the console the value of
>
> > numtimes.
>
> >
>
> >
>
> >
>
> > When the page first loads, everything goes as expected.  However, if I hit
>
> > the refresh button in my browser, nothing prints out to the console, and
>
> it
>
> > never hits the method in Eclipse's debug mode (which it does on initial
>
> > load).
>
> >
>
> >
>
> >
>
> > I have another tag, for a table, whose data is backed by a bean on the
>
> same
>
> > page (not the same jsp, but they are both imported by another "container"
>
> > page).
>
> >
>
> >
>
> >
>
> > <h:dataTable value="#{todoHandler.todoListModel}" var="list"
>
> >
>
> >                         first="#{todoHandler.firstRowIndex}"
>
> >
>
> >                         rows="#{todoHandler.noOfRows}"
>
> >
>
> >                         styleClass="view" rowClasses="tableRow">
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > Now, the method ToDoHandler.getNoOfRows also has a sysout, which DOES
>
> print
>
> > to the console every time I refresh the page, so I know it's not that I'm
>
> > just getting some cached version or that my browser is bugging out.
>
> >
>
> >
>
> >
>
> > They are both session level beans as you can see:
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >    <managed-bean>
>
> >
>
> >       <managed-bean-name>todoHandler</managed-bean-name>
>
> >
>
> >       <managed-bean-class>(name
>
> > omitted).ToDoListHandler</managed-bean-class>
>
> >
>
> >       <managed-bean-scope>session</managed-bean-scope>
>
> >
>
> >    </managed-bean>
>
> >
>
> >
>
> >
>
> > <managed-bean>
>
> >
>
> >       <managed-bean-name>editorPanelBean</managed-bean-name>
>
> >
>
> >       <managed-bean-class>(name
>
> > omitted).EditorPanelBean</managed-bean-class>
>
> >
>
> >       <managed-bean-scope>session</managed-bean-scope>
>
> >
>
> >    </managed-bean>
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > So. what gives? Does the component binding not refresh when the page is
>
> > reloaded, but the value binding does? I know this is a lot of information,
>
> > but I'd rather give too much than too little, and I appreciate any help I
>
> > can get as this has turned into a total blocker issue for me.
>
> >
>
> >
>
> >
>
> >
>
> > Jeremy Sager
>
> >
>
> > Data Communications Product Manager
>
> >
>
> > Chesapeake System Solutions
>
> >
>
> > 410.356.6805 x120
>
> >
>
> >
>
> > JSager@chessys.com
>
> >
>
> >
>
>
>
>
>
> --
>
>
>
> http://www.irian.at
>
>
>
> Your JSF powerhouse -
>
> JSF Consulting, Development and
>
> Courses in English and German
>
>
>
> Professional Support for Apache MyFaces
>
>
>
>
>
>
>
> Jeremy Sager
>
> Data Communications Product Manager
>
> Chesapeake System Solutions
>
> 410.356.6805 x120
>
> JSager@chessys.com
>
>
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

RE: Component binding is not refreshed?

Posted by Jeremy Sager <js...@chessys.com>.
Well, I've gotten the setter method working just fine, but have run into
another problem immediately.

 
It's really the same problem, but instead of being inside a JSP I'm inside a
regular Java method:

 

public void setPane(HtmlPanelTabbedPane component){

            FacesContext context = FacesContext.getCurrentInstance();

            Application app = context.getApplication();

            

            if (pane == null){

                  pane =
(HtmlPanelTabbedPane)app.createComponent(TABBEDPANE);

            }

            

            if (tab == null){

                  tab = (HtmlPanelTab)app.createComponent(PANELTAB);

            }

 

            numtimes ++;

            System.out.println("Numtimes = " + numtimes);

            tab.setLabel(Integer.toString(numtimes));

            

            System.out.println(tab.getLabel());

            

      }

 

Now, what I get on the console if I've refreshed 3 times is:

 

Numtimes = 3

3

 

But what displays on the tab header is "1".

 

Now, I realize this is happening because the tab itself is using the saved
version that has been restored.

 

To get around this, it seems to me like I will need to create a value
binding for the tab itself, but it's not immediately clear how to do this.

 

Now, I see the method in UIComponentBase:

 

setValueBinding(java.lang.String name,
javax.faces.el.ValueBinding binding)

 

but... I need to pass in a ValueBinding object, and looking at the javadoc
for the ValueBinding object, it's not at all clear what I need to do with
it.

 

I guess an alternative way to do this would be to completely recreate the
tabbed pane every time and add the children back in, but then I'm going to
lose the state of my child tabs, meaning if work has been done in more than
one tab and I have to refresh, all that work will be lost, so that's not a
realistic solution for me.

 

What I really need to be able to do is query my child tab in a setter method
and figure out whether I need to restore state or recreate it, which I can
handle on my own no problem... I just need to figure out how to
programmatically bind the tab so that I can get into its setter method.

 

Jeremy Sager

Data Communications Product Manager

Chesapeake System Solutions

410.356.6805 x120

JSager@chessys.com

 

 

-----Original Message-----

From: Martin Marinschek [mailto:martin.marinschek@gmail.com] 

Sent: Monday, December 19, 2005 4:09 PM

To: MyFaces Discussion

Subject: Re: Component binding is not refreshed?

 

Hi Jeremy,

 

your conclusion is absolutely right. The getter of the method-binding

will only be called once - then the component is recreated from the

saved state, and will not be created by calling your getter.

 

You'll understand this if you think about the state saving feature of

JSF - if you would be able to provide a new component at every

request, how would the state saving ever work?

 

If you want to change your component, you'll need to provide a

_setter_ for the component, and do the modifications there or in an

action-method (which runs after the setter for the component has been

called, so you can access the actual JSF component there). The setter

will be called on every request!

 

regards,

 

Martin

 

On 12/19/05, Jeremy Sager <js...@chessys.com> wrote:

> 

> 

> 

> Hey guys -

> 

> 

> 

> Thanks in advance for your help.

> 

> 

> 

> I have a panelTabbedPane that I am binding directly to a bean so that I

can

> create the pane programmatically.

> 

> 

> 

> Here is the tag definition:

> 

> 

> 

> <t:panelTabbedPane binding="#{editorPanelBean.pane}"/>

> 

> 

> 

> Now, in my bean, I have the getPane() method. I have included the entire

> class file here (don't worry, it's not big) except for the package and

> import declarations. The IEditorPanelTabBean list can be safely ignored,

> it's not being used.

> 

> 

> 

> 

> 

> /**

> 

>  * @jsf.bean name="editorPanelBean" scope="session"

> 

>  */

> 

> public class EditorPanelBean {

> 

> 

> 

>       private ArrayList<IEditorPanelTabBean> tabs = new

> ArrayList<IEditorPanelTabBean>();

> 

> 

> 

>       private String TABBEDPANE =

> "org.apache.myfaces.HtmlPanelTabbedPane";

> 

>       private String PANELTAB = "org.apache.myfaces.HtmlPanelTab";

> 

> 

> 

>       //private String TABBEDPANE =

> HtmlPanelTabbedPane.class.getName();

> 

>       //private String PANELTAB = HtmlPanelTab.class.getName();

> 

> 

> 

>       private UIComponent pane = null;

> 

>       private HtmlPanelTab tab = null;

> 

> 

> 

>       private int numtimes = 0;

> 

> 

> 

>       public UIComponent getPane (){

> 

>             FacesContext context = FacesContext.getCurrentInstance();

> 

>             Application app = context.getApplication();

> 

> 

> 

>             if (pane == null){

> 

>                   pane = app.createComponent(TABBEDPANE);

> 

>             }

> 

> 

> 

>             if (tab == null){

> 

>                   tab = (HtmlPanelTab)app.createComponent(PANELTAB);

> 

>             }

> 

> 

> 

>             numtimes ++;

> 

>             System.out.println("Numtimes = " + numtimes);

> 

>             tab.setLabel(Integer.toString(numtimes));

> 

> 

> 

>             pane.getChildren().add(tab);

> 

> 

> 

>             return pane;

> 

>       }

> 

> 

> 

> }

> 

> 

> 

> Now, as you can see, it should be printing out to the console the value of

> numtimes.

> 

> 

> 

> When the page first loads, everything goes as expected.  However, if I hit

> the refresh button in my browser, nothing prints out to the console, and

it

> never hits the method in Eclipse's debug mode (which it does on initial

> load).

> 

> 

> 

> I have another tag, for a table, whose data is backed by a bean on the

same

> page (not the same jsp, but they are both imported by another "container"

> page).

> 

> 

> 

> <h:dataTable value="#{todoHandler.todoListModel}" var="list"

> 

>                         first="#{todoHandler.firstRowIndex}"

> 

>                         rows="#{todoHandler.noOfRows}"

> 

>                         styleClass="view" rowClasses="tableRow">

> 

> 

> 

> 

> 

> Now, the method ToDoHandler.getNoOfRows also has a sysout, which DOES

print

> to the console every time I refresh the page, so I know it's not that I'm

> just getting some cached version or that my browser is bugging out.

> 

> 

> 

> They are both session level beans as you can see:

> 

> 

> 

> 

> 

>    <managed-bean>

> 

>       <managed-bean-name>todoHandler</managed-bean-name>

> 

>       <managed-bean-class>(name

> omitted).ToDoListHandler</managed-bean-class>

> 

>       <managed-bean-scope>session</managed-bean-scope>

> 

>    </managed-bean>

> 

> 

> 

> <managed-bean>

> 

>       <managed-bean-name>editorPanelBean</managed-bean-name>

> 

>       <managed-bean-class>(name

> omitted).EditorPanelBean</managed-bean-class>

> 

>       <managed-bean-scope>session</managed-bean-scope>

> 

>    </managed-bean>

> 

> 

> 

> 

> 

> So. what gives? Does the component binding not refresh when the page is

> reloaded, but the value binding does? I know this is a lot of information,

> but I'd rather give too much than too little, and I appreciate any help I

> can get as this has turned into a total blocker issue for me.

> 

> 

> 

> 

> Jeremy Sager

> 

> Data Communications Product Manager

> 

> Chesapeake System Solutions

> 

> 410.356.6805 x120

> 

> 

> JSager@chessys.com

> 

> 

 

 

--

 

http://www.irian.at

 

Your JSF powerhouse -

JSF Consulting, Development and

Courses in English and German

 

Professional Support for Apache MyFaces

 

 

 

Jeremy Sager

Data Communications Product Manager

Chesapeake System Solutions

410.356.6805 x120

JSager@chessys.com




RE: Component binding is not refreshed?

Posted by Jeremy Sager <js...@chessys.com>.
Hi again Martin -

Thanks for the quick response!

I now have a stupid question... what's the syntax for my setter method?

I created a setPane() and a setPane(UIComponent component) method in my
bean, but neither got called.

I assume I'm supposed to be creating it on the bean, but I'm not sure what
the syntax should be.

As for the action method you mentioned, would that be during the "Process
Events" phase after the "Invoke Application" phase in the JSF lifecycle? I'm
not sure when it would be fired or exactly where I would put it.

Thanks again.

Jeremy Sager
Data Communications Product Manager
Chesapeake System Solutions
410.356.6805 x120
JSager@chessys.com


-----Original Message-----
From: Martin Marinschek [mailto:martin.marinschek@gmail.com] 
Sent: Monday, December 19, 2005 4:09 PM
To: MyFaces Discussion
Subject: Re: Component binding is not refreshed?

Hi Jeremy,

your conclusion is absolutely right. The getter of the method-binding
will only be called once - then the component is recreated from the
saved state, and will not be created by calling your getter.

You'll understand this if you think about the state saving feature of
JSF - if you would be able to provide a new component at every
request, how would the state saving ever work?

If you want to change your component, you'll need to provide a
_setter_ for the component, and do the modifications there or in an
action-method (which runs after the setter for the component has been
called, so you can access the actual JSF component there). The setter
will be called on every request!

regards,

Martin

On 12/19/05, Jeremy Sager <js...@chessys.com> wrote:
>
>
>
> Hey guys -
>
>
>
> Thanks in advance for your help.
>
>
>
> I have a panelTabbedPane that I am binding directly to a bean so that I
can
> create the pane programmatically.
>
>
>
> Here is the tag definition:
>
>
>
> <t:panelTabbedPane binding="#{editorPanelBean.pane}"/>
>
>
>
> Now, in my bean, I have the getPane() method. I have included the entire
> class file here (don't worry, it's not big) except for the package and
> import declarations. The IEditorPanelTabBean list can be safely ignored,
> it's not being used.
>
>
>
>
>
> /**
>
>  * @jsf.bean name="editorPanelBean" scope="session"
>
>  */
>
> public class EditorPanelBean {
>
>
>
>       private ArrayList<IEditorPanelTabBean> tabs = new
> ArrayList<IEditorPanelTabBean>();
>
>
>
>       private String TABBEDPANE =
> "org.apache.myfaces.HtmlPanelTabbedPane";
>
>       private String PANELTAB = "org.apache.myfaces.HtmlPanelTab";
>
>
>
>       //private String TABBEDPANE =
> HtmlPanelTabbedPane.class.getName();
>
>       //private String PANELTAB = HtmlPanelTab.class.getName();
>
>
>
>       private UIComponent pane = null;
>
>       private HtmlPanelTab tab = null;
>
>
>
>       private int numtimes = 0;
>
>
>
>       public UIComponent getPane (){
>
>             FacesContext context = FacesContext.getCurrentInstance();
>
>             Application app = context.getApplication();
>
>
>
>             if (pane == null){
>
>                   pane = app.createComponent(TABBEDPANE);
>
>             }
>
>
>
>             if (tab == null){
>
>                   tab = (HtmlPanelTab)app.createComponent(PANELTAB);
>
>             }
>
>
>
>             numtimes ++;
>
>             System.out.println("Numtimes = " + numtimes);
>
>             tab.setLabel(Integer.toString(numtimes));
>
>
>
>             pane.getChildren().add(tab);
>
>
>
>             return pane;
>
>       }
>
>
>
> }
>
>
>
> Now, as you can see, it should be printing out to the console the value of
> numtimes.
>
>
>
> When the page first loads, everything goes as expected.  However, if I hit
> the refresh button in my browser, nothing prints out to the console, and
it
> never hits the method in Eclipse's debug mode (which it does on initial
> load).
>
>
>
> I have another tag, for a table, whose data is backed by a bean on the
same
> page (not the same jsp, but they are both imported by another "container"
> page).
>
>
>
> <h:dataTable value="#{todoHandler.todoListModel}" var="list"
>
>                         first="#{todoHandler.firstRowIndex}"
>
>                         rows="#{todoHandler.noOfRows}"
>
>                         styleClass="view" rowClasses="tableRow">
>
>
>
>
>
> Now, the method ToDoHandler.getNoOfRows also has a sysout, which DOES
print
> to the console every time I refresh the page, so I know it's not that I'm
> just getting some cached version or that my browser is bugging out.
>
>
>
> They are both session level beans as you can see:
>
>
>
>
>
>    <managed-bean>
>
>       <managed-bean-name>todoHandler</managed-bean-name>
>
>       <managed-bean-class>(name
> omitted).ToDoListHandler</managed-bean-class>
>
>       <managed-bean-scope>session</managed-bean-scope>
>
>    </managed-bean>
>
>
>
> <managed-bean>
>
>       <managed-bean-name>editorPanelBean</managed-bean-name>
>
>       <managed-bean-class>(name
> omitted).EditorPanelBean</managed-bean-class>
>
>       <managed-bean-scope>session</managed-bean-scope>
>
>    </managed-bean>
>
>
>
>
>
> So. what gives? Does the component binding not refresh when the page is
> reloaded, but the value binding does? I know this is a lot of information,
> but I'd rather give too much than too little, and I appreciate any help I
> can get as this has turned into a total blocker issue for me.
>
>
>
>
> Jeremy Sager
>
> Data Communications Product Manager
>
> Chesapeake System Solutions
>
> 410.356.6805 x120
>
>
> JSager@chessys.com
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces


Re: Component binding is not refreshed?

Posted by Martin Marinschek <ma...@gmail.com>.
Hi Jeremy,

your conclusion is absolutely right. The getter of the method-binding
will only be called once - then the component is recreated from the
saved state, and will not be created by calling your getter.

You'll understand this if you think about the state saving feature of
JSF - if you would be able to provide a new component at every
request, how would the state saving ever work?

If you want to change your component, you'll need to provide a
_setter_ for the component, and do the modifications there or in an
action-method (which runs after the setter for the component has been
called, so you can access the actual JSF component there). The setter
will be called on every request!

regards,

Martin

On 12/19/05, Jeremy Sager <js...@chessys.com> wrote:
>
>
>
> Hey guys –
>
>
>
> Thanks in advance for your help.
>
>
>
> I have a panelTabbedPane that I am binding directly to a bean so that I can
> create the pane programmatically.
>
>
>
> Here is the tag definition:
>
>
>
> <t:panelTabbedPane binding="#{editorPanelBean.pane}"/>
>
>
>
> Now, in my bean, I have the getPane() method… I have included the entire
> class file here (don't worry, it's not big) except for the package and
> import declarations. The IEditorPanelTabBean list can be safely ignored,
> it's not being used.
>
>
>
>
>
> /**
>
>  * @jsf.bean name="editorPanelBean" scope="session"
>
>  */
>
> public class EditorPanelBean {
>
>
>
>       private ArrayList<IEditorPanelTabBean> tabs = new
> ArrayList<IEditorPanelTabBean>();
>
>
>
>       private String TABBEDPANE =
> "org.apache.myfaces.HtmlPanelTabbedPane";
>
>       private String PANELTAB = "org.apache.myfaces.HtmlPanelTab";
>
>
>
>       //private String TABBEDPANE =
> HtmlPanelTabbedPane.class.getName();
>
>       //private String PANELTAB = HtmlPanelTab.class.getName();
>
>
>
>       private UIComponent pane = null;
>
>       private HtmlPanelTab tab = null;
>
>
>
>       private int numtimes = 0;
>
>
>
>       public UIComponent getPane (){
>
>             FacesContext context = FacesContext.getCurrentInstance();
>
>             Application app = context.getApplication();
>
>
>
>             if (pane == null){
>
>                   pane = app.createComponent(TABBEDPANE);
>
>             }
>
>
>
>             if (tab == null){
>
>                   tab = (HtmlPanelTab)app.createComponent(PANELTAB);
>
>             }
>
>
>
>             numtimes ++;
>
>             System.out.println("Numtimes = " + numtimes);
>
>             tab.setLabel(Integer.toString(numtimes));
>
>
>
>             pane.getChildren().add(tab);
>
>
>
>             return pane;
>
>       }
>
>
>
> }
>
>
>
> Now, as you can see, it should be printing out to the console the value of
> numtimes.
>
>
>
> When the page first loads, everything goes as expected.  However, if I hit
> the refresh button in my browser, nothing prints out to the console, and it
> never hits the method in Eclipse's debug mode (which it does on initial
> load).
>
>
>
> I have another tag, for a table, whose data is backed by a bean on the same
> page (not the same jsp, but they are both imported by another "container"
> page).
>
>
>
> <h:dataTable value="#{todoHandler.todoListModel}" var="list"
>
>                         first="#{todoHandler.firstRowIndex}"
>
>                         rows="#{todoHandler.noOfRows}"
>
>                         styleClass="view" rowClasses="tableRow">
>
>
>
>
>
> Now, the method ToDoHandler.getNoOfRows also has a sysout, which DOES print
> to the console every time I refresh the page, so I know it's not that I'm
> just getting some cached version or that my browser is bugging out.
>
>
>
> They are both session level beans as you can see:
>
>
>
>
>
>    <managed-bean>
>
>       <managed-bean-name>todoHandler</managed-bean-name>
>
>       <managed-bean-class>(name
> omitted).ToDoListHandler</managed-bean-class>
>
>       <managed-bean-scope>session</managed-bean-scope>
>
>    </managed-bean>
>
>
>
> <managed-bean>
>
>       <managed-bean-name>editorPanelBean</managed-bean-name>
>
>       <managed-bean-class>(name
> omitted).EditorPanelBean</managed-bean-class>
>
>       <managed-bean-scope>session</managed-bean-scope>
>
>    </managed-bean>
>
>
>
>
>
> So… what gives? Does the component binding not refresh when the page is
> reloaded, but the value binding does? I know this is a lot of information,
> but I'd rather give too much than too little, and I appreciate any help I
> can get as this has turned into a total blocker issue for me.
>
>
>
>
> Jeremy Sager
>
> Data Communications Product Manager
>
> Chesapeake System Solutions
>
> 410.356.6805 x120
>
>
> JSager@chessys.com
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Component binding is not refreshed?

Posted by Jeremy Sager <js...@chessys.com>.
Hey guys -
 
Thanks in advance for your help.
 
I have a panelTabbedPane that I am binding directly to a bean so that I can
create the pane programmatically.
 
Here is the tag definition:
 
<t:panelTabbedPane binding="#{editorPanelBean.pane}"/>
 
Now, in my bean, I have the getPane() method. I have included the entire
class file here (don't worry, it's not big) except for the package and
import declarations. The IEditorPanelTabBean list can be safely ignored,
it's not being used.
 
 
/**
 * @jsf.bean name="editorPanelBean" scope="session"
 */
public class EditorPanelBean {
 
      private ArrayList<IEditorPanelTabBean> tabs = new
ArrayList<IEditorPanelTabBean>();
      
      private String TABBEDPANE = "org.apache.myfaces.HtmlPanelTabbedPane";
      private String PANELTAB = "org.apache.myfaces.HtmlPanelTab";
      
      //private String TABBEDPANE = HtmlPanelTabbedPane.class.getName();
      //private String PANELTAB = HtmlPanelTab.class.getName();
      
      private UIComponent pane = null;
      private HtmlPanelTab tab = null;
      
      private int numtimes = 0;
      
      public UIComponent getPane (){
            FacesContext context = FacesContext.getCurrentInstance();
            Application app = context.getApplication();
            
            if (pane == null){
                  pane = app.createComponent(TABBEDPANE);
            }
            
            if (tab == null){
                  tab = (HtmlPanelTab)app.createComponent(PANELTAB);
            }
 
            numtimes ++;
            System.out.println("Numtimes = " + numtimes);
            tab.setLabel(Integer.toString(numtimes));
 
            pane.getChildren().add(tab);
            
            return pane;
      }
      
}
 
Now, as you can see, it should be printing out to the console the value of
numtimes.
 
When the page first loads, everything goes as expected.  However, if I hit
the refresh button in my browser, nothing prints out to the console, and it
never hits the method in Eclipse's debug mode (which it does on initial
load).
 
I have another tag, for a table, whose data is backed by a bean on the same
page (not the same jsp, but they are both imported by another "container"
page).
 
<h:dataTable value="#{todoHandler.todoListModel}" var="list"
                        first="#{todoHandler.firstRowIndex}"
                        rows="#{todoHandler.noOfRows}"
                        styleClass="view" rowClasses="tableRow">
 
 
Now, the method ToDoHandler.getNoOfRows also has a sysout, which DOES print
to the console every time I refresh the page, so I know it's not that I'm
just getting some cached version or that my browser is bugging out.
 
They are both session level beans as you can see:
 
 
   <managed-bean>
      <managed-bean-name>todoHandler</managed-bean-name>
      <managed-bean-class>(name
omitted).ToDoListHandler</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
   </managed-bean>
 
<managed-bean>
      <managed-bean-name>editorPanelBean</managed-bean-name>
      <managed-bean-class>(name
omitted).EditorPanelBean</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
   </managed-bean>
 
 
So. what gives? Does the component binding not refresh when the page is
reloaded, but the value binding does? I know this is a lot of information,
but I'd rather give too much than too little, and I appreciate any help I
can get as this has turned into a total blocker issue for me.
 
Jeremy Sager
Data Communications Product Manager
Chesapeake System Solutions
410.356.6805 x120
JSager@chessys.com
 

Re: Apache Con Talks

Posted by Keith Lynch <re...@gmail.com>.
That would be glassfish as opposed to fisheye :)

There really are too many fish in the sea

On 12/19/05, Keith Lynch <re...@gmail.com> wrote:
>
> Some notes on Javapolis and jsf where Martin couldn't fill in.
>
> Sadly, the summary will be very short as I left early today and didn't
> > get to see the three other JSF sessions that were happening today and
> > tomorrow.
>
>
>
> I got there late and had a cold so I couldn't meet you guys on Monday. I
> was dissapointed about that.
>
>
> The talk by Roger was good. He presented the new features which will be
> present in JSF 1.2. He also showed off some of the new stuff coming with
> Fisheye and the components sun has developed. There are some really nice and
> powerful  little AJAX components here. However from what I understood they
> are JSF 1.2 compatible only. They can be checked out in the bpcatalog [
> https://bpcatalog.dev.java.net/].
>
> David Geary talked about Shale - I guess it was the same content than
> > over at ApacheCon.
>
>
>
> It was quite good. Shale seems like a an ideal solution for separating the
> development of html and JSF which is perfect if you have web-designers doing
> html and developers doing java+jsf development..
>
>
> There will also be a "Bitter JSF" talk tomorrow - don't ask me about
> > the content of that one ;)
>
>
> This was also a nice talk. It basically highlighted some of the common
> trip wires people fall over when using JSF. There was also a good positive
> tips section however sadly Stijn didn't have the time to get through it all.
> I talked further with Stijn afterwards and he showed me some cool things
> he's using. The slides will be online soon enough I believe.
>
> He was using Selenium for testing his JSF application. It's quite a cool
> piece of software and it's also free :)
>
> Head over to http://www.openqa.org/selenium/ to check it out.
>
>
>
>

Re: Apache Con Talks

Posted by Keith Lynch <re...@gmail.com>.
Some notes on Javapolis and jsf where Martin couldn't fill in.

Sadly, the summary will be very short as I left early today and didn't
> get to see the three other JSF sessions that were happening today and
> tomorrow.



I got there late and had a cold so I couldn't meet you guys on Monday. I was
dissapointed about that.


The talk by Roger was good. He presented the new features which will be
present in JSF 1.2. He also showed off some of the new stuff coming with
Fisheye and the components sun has developed. There are some really nice and
powerful  little AJAX components here. However from what I understood they
are JSF 1.2 compatible only. They can be checked out in the bpcatalog [
https://bpcatalog.dev.java.net/].

David Geary talked about Shale - I guess it was the same content than
> over at ApacheCon.



It was quite good. Shale seems like a an ideal solution for separating the
development of html and JSF which is perfect if you have web-designers doing
html and developers doing java+jsf development..


There will also be a "Bitter JSF" talk tomorrow - don't ask me about
> the content of that one ;)


This was also a nice talk. It basically highlighted some of the common trip
wires people fall over when using JSF. There was also a good positive tips
section however sadly Stijn didn't have the time to get through it all. I
talked further with Stijn afterwards and he showed me some cool things he's
using. The slides will be online soon enough I believe.

He was using Selenium for testing his JSF application. It's quite a cool
piece of software and it's also free :)

Head over to http://www.openqa.org/selenium/ to check it out.

Re: Apache Con Talks

Posted by Martin Marinschek <ma...@gmail.com>.
Well,

I'm done already - so I might do it now as well.

Sadly, the summary will be very short as I left early today and didn't
get to see the three other JSF sessions that were happening today and
tomorrow.

So I missed Roger Kitain talking about JSF1.2 - I did stop him down on
the corridor though and we discussed what else we could implement of
1.2 without breaking 1.1 compatibility. He confirmed what I had
thought before; that we could implement the new view creation stuff -
see also the mails I just exchanged with Jacob - without touching any
APIs. He suggested the multiple renderkit feature also - but this
wouldn't work without API changes.

David Geary talked about Shale - I guess it was the same content than
over at ApacheCon.

There will also be a "Bitter JSF" talk tomorrow - don't ask me about
the content of that one ;)

On monday, John, Jonas and I were splitting up a 3 hour session
halfway. I did the first half and gave a short introduction to JSF,
MyFaces (custom components and features), and then I tried to cover
the five most asked questions on the mailing list with a Tipps&Tricks
section. I did have show some demos additionally and did some live
programming.

John and Jonas presented ADF Faces (or Cherokee, how Oracle wants to
call its donation to the ASF) and announced that Oracle would open
source 104 components of ADF Faces. They showed off some of the
components - and some of the advanced features of the component set,
like caching, skinning, etc.

The interest level for the whole session was very high, we got the
large conference room assigned and that one filled up pretty well
(around 700 out of 900 seats taken). There weren't any major glitches,
as far as the session went.

The AJAX presentation at JavaPolis was really, really well done (with
live coding of an AJAX enabled input-field), and was also completely
booked ;).

The Seam session today was full as well, even though there were
several objections mouthed against Seam in the questions after the
session - so it wasn't all positive there.

As with Studio Creator - the last time I evaluated it, I couldn't
change the directory structure to what my web-app looked like. Has
that been fixed already? Same problem as with Eclipse and WTP...

regards,

Martin

On 12/15/05, Sean Schofield <se...@gmail.com> wrote:
> I agree people are starting to become less scared of JSF now and are
> willing to take a second look.  What was the interest level at
> JavaPolis?
>
> Speaking of second looks, I'm installing Sun Java Studio Creator 2
> (now that its free.)  Craig recommended that I take a look at some of
> the new features.  Be sure to download the latest EA release (you have
> to hunt around for it - its not the standard download.)
>
> Anyways, lots of new things to try out after Apache Con ... Maybe you
> can give us a brief summary of JavaPolis when you are done?
>
> sean
>
>
> On 12/14/05, Martin Marinschek <ma...@gmail.com> wrote:
> > That's good news!
> >
> > It's really interesting how much steam JSF (and MyFaces) has picked up
> > in the last few months with regards to user interest.
> >
> > And thank goodness, I didn't hear anymore at JavaPolis that JSF is
> > overly complicated. People complain about component development not
> > being easy, but actually working with JSF as a web developer is seen
> > as being pretty straightforward.
> >
> > regards,
> >
> > Martin
> >
> > On 12/15/05, Sean Schofield <se...@gmail.com> wrote:
> > > I just got back from Apache Con in San Diego.  It was very well
> > > attended (one of the hotel staff told me there were over 500
> > > attendees.)  Of special interest were the two MyFaces sessions
> > > conducted by our own Matthias Wessendorf and Gerald Muellan.
> > >
> > > Both MyFaces sessions were extremely well attended.  The first session
> > > was an overview of JSF and what MyFaces brings to the table.  I told
> > > Matthias and Gerald that they could tell the seesion went well because
> > > 90% stayed for another hour long session covering Ajax and MyFaces.
> > >
> > > Thanks to Matthias and Gerald for making the trip and putting all of
> > > the hard work into the presentation.  I was proud to see them up there
> > > on the stage representing our community.  The large turnout for the
> > > sessions also seemed to mirror the recent trends on our mailing list.
> > > There was certainly a lot of curiosity for MyFaces if not outright
> > > interest.  Expect more newcomers to the mailing list after those
> > > talks!
> > >
> > > There were also some interesting Struts sessions.  The first session
> > > focused on what is now being called the Struts Action framework,
> > > including some details on the recently announced WebWorks merger.  The
> > > second session focused on Struts Shale.  That session was also well
> > > attended.  I had not seen Craig's Shale talk until that point but it
> > > was an excellent overview of the project.  Craig also unveiled a few
> > > new editions that are coming to Shale, some of which he was working on
> > > in between sessions at the conference.
> > >
> > > If you are a JSF developer you should definitely keep an eye on where
> > > Shale is headed.  An alpha release is expected shortly and the entire
> > > Struts team is working to collaborate on areas of overlap between the
> > > Action and Shale frameworks.  This combined with more user feedback
> > > should move this project along nicely.  Don't let the "alpha" status
> > > fool you.  This is primarily so the API isn't locked up in the first
> > > release.  Its definitely production ready though.  My team is
> > > currently using it in my day job.
> > >
> > > Its an exciting time to be part of the Apache community.  I expect
> > > more great things to come out of the next year.
> > >
> >
> >
> > --
> >
> > http://www.irian.at
> >
> > Your JSF powerhouse -
> > JSF Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Re: Apache Con Talks

Posted by Sean Schofield <se...@gmail.com>.
I agree people are starting to become less scared of JSF now and are
willing to take a second look.  What was the interest level at
JavaPolis?

Speaking of second looks, I'm installing Sun Java Studio Creator 2
(now that its free.)  Craig recommended that I take a look at some of
the new features.  Be sure to download the latest EA release (you have
to hunt around for it - its not the standard download.)

Anyways, lots of new things to try out after Apache Con ... Maybe you
can give us a brief summary of JavaPolis when you are done?

sean


On 12/14/05, Martin Marinschek <ma...@gmail.com> wrote:
> That's good news!
>
> It's really interesting how much steam JSF (and MyFaces) has picked up
> in the last few months with regards to user interest.
>
> And thank goodness, I didn't hear anymore at JavaPolis that JSF is
> overly complicated. People complain about component development not
> being easy, but actually working with JSF as a web developer is seen
> as being pretty straightforward.
>
> regards,
>
> Martin
>
> On 12/15/05, Sean Schofield <se...@gmail.com> wrote:
> > I just got back from Apache Con in San Diego.  It was very well
> > attended (one of the hotel staff told me there were over 500
> > attendees.)  Of special interest were the two MyFaces sessions
> > conducted by our own Matthias Wessendorf and Gerald Muellan.
> >
> > Both MyFaces sessions were extremely well attended.  The first session
> > was an overview of JSF and what MyFaces brings to the table.  I told
> > Matthias and Gerald that they could tell the seesion went well because
> > 90% stayed for another hour long session covering Ajax and MyFaces.
> >
> > Thanks to Matthias and Gerald for making the trip and putting all of
> > the hard work into the presentation.  I was proud to see them up there
> > on the stage representing our community.  The large turnout for the
> > sessions also seemed to mirror the recent trends on our mailing list.
> > There was certainly a lot of curiosity for MyFaces if not outright
> > interest.  Expect more newcomers to the mailing list after those
> > talks!
> >
> > There were also some interesting Struts sessions.  The first session
> > focused on what is now being called the Struts Action framework,
> > including some details on the recently announced WebWorks merger.  The
> > second session focused on Struts Shale.  That session was also well
> > attended.  I had not seen Craig's Shale talk until that point but it
> > was an excellent overview of the project.  Craig also unveiled a few
> > new editions that are coming to Shale, some of which he was working on
> > in between sessions at the conference.
> >
> > If you are a JSF developer you should definitely keep an eye on where
> > Shale is headed.  An alpha release is expected shortly and the entire
> > Struts team is working to collaborate on areas of overlap between the
> > Action and Shale frameworks.  This combined with more user feedback
> > should move this project along nicely.  Don't let the "alpha" status
> > fool you.  This is primarily so the API isn't locked up in the first
> > release.  Its definitely production ready though.  My team is
> > currently using it in my day job.
> >
> > Its an exciting time to be part of the Apache community.  I expect
> > more great things to come out of the next year.
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>

Re: Apache Con Talks

Posted by Martin Marinschek <ma...@gmail.com>.
That's good news!

It's really interesting how much steam JSF (and MyFaces) has picked up
in the last few months with regards to user interest.

And thank goodness, I didn't hear anymore at JavaPolis that JSF is
overly complicated. People complain about component development not
being easy, but actually working with JSF as a web developer is seen
as being pretty straightforward.

regards,

Martin

On 12/15/05, Sean Schofield <se...@gmail.com> wrote:
> I just got back from Apache Con in San Diego.  It was very well
> attended (one of the hotel staff told me there were over 500
> attendees.)  Of special interest were the two MyFaces sessions
> conducted by our own Matthias Wessendorf and Gerald Muellan.
>
> Both MyFaces sessions were extremely well attended.  The first session
> was an overview of JSF and what MyFaces brings to the table.  I told
> Matthias and Gerald that they could tell the seesion went well because
> 90% stayed for another hour long session covering Ajax and MyFaces.
>
> Thanks to Matthias and Gerald for making the trip and putting all of
> the hard work into the presentation.  I was proud to see them up there
> on the stage representing our community.  The large turnout for the
> sessions also seemed to mirror the recent trends on our mailing list.
> There was certainly a lot of curiosity for MyFaces if not outright
> interest.  Expect more newcomers to the mailing list after those
> talks!
>
> There were also some interesting Struts sessions.  The first session
> focused on what is now being called the Struts Action framework,
> including some details on the recently announced WebWorks merger.  The
> second session focused on Struts Shale.  That session was also well
> attended.  I had not seen Craig's Shale talk until that point but it
> was an excellent overview of the project.  Craig also unveiled a few
> new editions that are coming to Shale, some of which he was working on
> in between sessions at the conference.
>
> If you are a JSF developer you should definitely keep an eye on where
> Shale is headed.  An alpha release is expected shortly and the entire
> Struts team is working to collaborate on areas of overlap between the
> Action and Shale frameworks.  This combined with more user feedback
> should move this project along nicely.  Don't let the "alpha" status
> fool you.  This is primarily so the API isn't locked up in the first
> release.  Its definitely production ready though.  My team is
> currently using it in my day job.
>
> Its an exciting time to be part of the Apache community.  I expect
> more great things to come out of the next year.
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces