users@javaserverfaces-spec-public.java.net

[jsr344-experts mirror] [jsr344-experts] PFD RC2 Review and pending issues (documentation of to-flow-document-id is incomplete)

From: Leonardo Uribe <lu4242_at_gmail.com>
Date: Mon, 25 Feb 2013 14:46:01 -0500

Hi

This mail is just to note some small details over the documentation of
flowDocumentId. I'm still reading the latest draft, but since the time
is getting short I'll send any observation I see as soon as I can find it.

1. In the javadoc of ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME it says
this:

"... The presence of this component attribute on an ActionSource component
will cause the default ActionListener to interpret the value of the
attribute as the "

Note the phrase is incomplete. It should say something like this:

"... will cause the default ActionListener to interpret the value of the
attribute as the flowDocumentId that should be scanned first when resolving
the passed outcome in the navigation algorithm ..."

In this case to-flow-document-id works as a "hint", just like fromAction
params can affect the navigation algorithm.

2. The documentation of Application.getActionListener must be updated to
reflect the intention of ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME. Note
this part describes the steps done by the default ActionListener.

3. Just as an observation, it is curious that to-flow-document-id becomes
a "hidden property" for h:commandButton, h:commandLink, f:viewAction and
all UICommand components. The question is: shouldn't this attribute be
defined at UICommand level?, or at least has a getter/setter on the
affected components?. With the proposed changes now this is possible:

<h:commandButton to-flow-document-id="flowDocument1" ...>

No objections, but the convention used always has been something like this:

<h:commandButton toFlowDocumentId="flowDocument1" ...>

4. flowDocument concept is still not fully specified. The biggest problem is
there is no mention about use the faces-config name document as a default
for flowDocument and if it is not found use something derived from the
flowId. For now the only mention is how to derive a flowDocumentId if is
not present. Also, it is necessary to specify what happen if the
flowDocumentId is not provided (the navigation algorithm should deal with
this possibility when resolving the outcome). I hope this is work in
progress.

5. In faces-config.xml for <navigation-case> it is obvious there was a
change for <javaee:to-flow-document-id>, but it was not marked as a change.

regards,

Leonardo Uribe