jsr344-experts@javaserverfaces-spec-public.java.net

[jsr344-experts] Faces Flows comments

From: David Schneider <david.schneider_at_oracle.com>
Date: Fri, 08 Mar 2013 14:48:31 -0700

Here are a few items I found while reviewing the latest draft of the
specification:

  * 7.4.2.2 & 7.5.1: Why are flow scoped beans instantiated at flow
    entry rather than at first reference? If all flow scoped beans are
    instantiated at flow entry, regardless of whether they ever get
    referenced by the flow, this could lead to a lot of unnecessary
    object creation and unnecessary memory footprint.
  * 7.5.1: In the description of the first diagram suggest changing
    "task flow return nodes" to "faces flow return nodes".
  * 11.4.3: I'm concerned with the idea that all flows are discovered
    at application start-up and stored in an internal flow data
    structure. This could potentially introduce a lot of memory
    footprint overhead. One of the advantages of using a XML document
    name in the flowId is the flow definition can be discovered on the
    fly, it doesn't have to be already known. I suppose different
    FlowHandler implementations could implement various caching
    strategies in an effort to reduce memory use.
  * 11.4.3.2: This paragraph states a flow definition must be in the
    jar's META-INF/faces-config.xml file. This seems overly
    restrictive. Wouldn't be better to allow the jar file to contain
    multiple flow definition documents with the faces-config.xml
    containing a reference to those documents?
  * 11.4.3.3: Missing word "if". The passage "and such files exist"
    should be "and *if* such files exist".
  * 11.4.3.3: What is the convention for the value of definingDocumentId
    when a flow is implicitly defined by a directory? Is it the
    convention described in section 7.4.2.1?

Dave