Author: craigmcc Date: Mon Jan 8 23:13:55 2007 New Revision: 494333 URL: http://svn.apache.org/viewvc?view=rev&rev=494333 Log: [SHALE-389] Implement a "dialogScope" pseudo-variable that is equivalent (in the current implementations) to "dialog.data" but could be specialized later. This slightly simplifies binding expressions in JSF views, but (more importantly) hides an implementation detail and offers the opportunity for more advanced functionality to be applied later, without having to modify existing JSF views (or use of binding expressions programmatically in backing beans).
Modified: shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/popuppage1.jsp shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage1.jsp shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage2.jsp shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage3.jsp shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/popuppage1.jsp shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage1.jsp shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage2.jsp shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage3.jsp shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java shale/framework/trunk/shale-dialog/src/main/resources/META-INF/faces-config.xml shale/framework/trunk/shale-dialog/src/site/xdoc/index.xml Modified: shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/popuppage1.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/popuppage1.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/popuppage1.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/popuppage1.jsp Mon Jan 8 23:13:55 2007 @@ -38,9 +38,9 @@ <h:outputLabel for="state" value="State:"/> <h:selectOneMenu id="state" - value="#{dialog.data.state}"> + value="#{dialogScope.state}"> <f:selectItems - value="#{dialog.data.states}"/> + value="#{dialogScope.states}"/> </h:selectOneMenu> <h:commandButton id="refresh" action="#{popup.refresh}" @@ -50,7 +50,7 @@ </h:panelGrid> <h:dataTable id="table" - value="#{dialog.data.cities}" + value="#{dialogScope.cities}" var="city"> <h:column> <f:facet name="header"> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage1.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage1.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage1.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage1.jsp Mon Jan 8 23:13:55 2007 @@ -39,14 +39,14 @@ value="Username:"/> <h:inputText id="username" required="true" - value="#{dialog.data.username}"/> + value="#{dialogScope.username}"/> <h:message for="username"/> <h:outputLabel for="password" value="Password:"/> <h:inputText id="password" required="true" - value="#{dialog.data.password}"/> + value="#{dialogScope.password}"/> <h:message for="password"/> <h:outputText value=""/> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage2.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage2.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage2.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage2.jsp Mon Jan 8 23:13:55 2007 @@ -40,34 +40,34 @@ value="Name:"/> <h:inputText id="name" required="true" - value="#{dialog.data.name}"/> + value="#{dialogScope.name}"/> <h:message for="name"/> <h:outputLabel for="address1" value="Address 1:"/> <h:inputText id="address1" required="true" - value="#{dialog.data.address1}"/> + value="#{dialogScope.address1}"/> <h:message for="address1"/> <h:outputLabel for="address2" value="Address 2:"/> <h:inputText id="address2" - value="#{dialog.data.address2}"/> + value="#{dialogScope.address2}"/> <h:message for="address2"/> <h:outputLabel for="city" value="City:"/> <h:inputText id="city" required="true" - value="#{dialog.data.city}"/> + value="#{dialogScope.city}"/> <h:message for="city"/> <h:outputLabel for="state" value="State:"/> <h:inputText id="state" required="true" - value="#{dialog.data.state}"/> + value="#{dialogScope.state}"/> <h:message for="state"/> <h:outputLabel for="zipCode" @@ -75,7 +75,7 @@ <h:panelGroup> <h:inputText id="zipCode" required="true" - value="#{dialog.data.zipCode}"/> + value="#{dialogScope.zipCode}"/> <h:outputLink id="zipCodePopup" value="#" onclick="javascript:window.open('popuppage1.faces?org.apache.shale.dialog.PARENT_ID=#{dialog.id}&org.apache.shale.dialog.DIALOG_NAME=popup','popup','height=600,width=800')"> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage3.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage3.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage3.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/wizardpage3.jsp Mon Jan 8 23:13:55 2007 @@ -39,14 +39,14 @@ value="Administrator:"/> <h:selectBooleanCheckbox id="administrator" - value="#{dialog.data.administrator}"/> + value="#{dialogScope.administrator}"/> <h:message for="administrator"/> <h:outputLabel for="enabled" value="Enabled:"/> <h:selectBooleanCheckbox id="enabled" - value="#{dialog.data.enabled}"/> + value="#{dialogScope.enabled}"/> <h:message for="enabled"/> <h:outputText value=""/> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/popuppage1.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/popuppage1.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/popuppage1.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/popuppage1.jsp Mon Jan 8 23:13:55 2007 @@ -38,9 +38,9 @@ <h:outputLabel for="state" value="State:"/> <h:selectOneMenu id="state" - value="#{dialog.data.state}"> + value="#{dialogScope.state}"> <f:selectItems - value="#{dialog.data.states}"/> + value="#{dialogScope.states}"/> </h:selectOneMenu> <h:commandButton id="refresh" action="#{popup.refresh}" @@ -50,7 +50,7 @@ </h:panelGrid> <h:dataTable id="table" - value="#{dialog.data.cities}" + value="#{dialogScope.cities}" var="city"> <h:column> <f:facet name="header"> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage1.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage1.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage1.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage1.jsp Mon Jan 8 23:13:55 2007 @@ -39,14 +39,14 @@ value="Username:"/> <h:inputText id="username" required="true" - value="#{dialog.data.username}"/> + value="#{dialogScope.username}"/> <h:message for="username"/> <h:outputLabel for="password" value="Password:"/> <h:inputText id="password" required="true" - value="#{dialog.data.password}"/> + value="#{dialogScope.password}"/> <h:message for="password"/> <h:outputText value=""/> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage2.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage2.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage2.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage2.jsp Mon Jan 8 23:13:55 2007 @@ -39,34 +39,34 @@ value="Name:"/> <h:inputText id="name" required="true" - value="#{dialog.data.name}"/> + value="#{dialogScope.name}"/> <h:message for="name"/> <h:outputLabel for="address1" value="Address 1:"/> <h:inputText id="address1" required="true" - value="#{dialog.data.address1}"/> + value="#{dialogScope.address1}"/> <h:message for="address1"/> <h:outputLabel for="address2" value="Address 2:"/> <h:inputText id="address2" - value="#{dialog.data.address2}"/> + value="#{dialogScope.address2}"/> <h:message for="address2"/> <h:outputLabel for="city" value="City:"/> <h:inputText id="city" required="true" - value="#{dialog.data.city}"/> + value="#{dialogScope.city}"/> <h:message for="city"/> <h:outputLabel for="state" value="State:"/> <h:inputText id="state" required="true" - value="#{dialog.data.state}"/> + value="#{dialogScope.state}"/> <h:message for="state"/> <h:outputLabel for="zipCode" @@ -74,7 +74,7 @@ <h:panelGroup> <h:inputText id="zipCode" required="true" - value="#{dialog.data.zipCode}"/> + value="#{dialogScope.zipCode}"/> <h:outputLink id="zipCodePopup" value="#" onclick="javascript:window.open('popuppage1.faces?org.apache.shale.dialog.PARENT_ID=#{dialog.id}&org.apache.shale.dialog.DIALOG_NAME=popup','popup','height=600,width=800')"> Modified: shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage3.jsp URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage3.jsp?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage3.jsp (original) +++ shale/framework/trunk/shale-apps/shale-test-dialog-scxml/src/main/webapp/wizardpage3.jsp Mon Jan 8 23:13:55 2007 @@ -39,14 +39,14 @@ value="Administrator:"/> <h:selectBooleanCheckbox id="administrator" - value="#{dialog.data.administrator}"/> + value="#{dialogScope.administrator}"/> <h:message for="administrator"/> <h:outputLabel for="enabled" value="Enabled:"/> <h:selectBooleanCheckbox id="enabled" - value="#{dialog.data.enabled}"/> + value="#{dialogScope.enabled}"/> <h:message for="enabled"/> <h:outputText value=""/> Modified: shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java (original) +++ shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java Mon Jan 8 23:13:55 2007 @@ -55,6 +55,15 @@ "org.apache.shale.dialog.DIALOG_NAME"; + /** + * <p>Name of a "managed bean" that represents the data associated with the + * dialog context instance for the current request (if any).</p> + * + * @since 1.1 + */ + public static final String DIALOG_SCOPE = "dialogScope"; + + /** * <p>Application scope attribute under which the application may optionally * define an instance of [EMAIL PROTECTED] DialogLifecycleListener} to receive Modified: shale/framework/trunk/shale-dialog/src/main/resources/META-INF/faces-config.xml URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-dialog/src/main/resources/META-INF/faces-config.xml?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-dialog/src/main/resources/META-INF/faces-config.xml (original) +++ shale/framework/trunk/shale-dialog/src/main/resources/META-INF/faces-config.xml Mon Jan 8 23:13:55 2007 @@ -30,6 +30,7 @@ <application> <navigation-handler>org.apache.shale.dialog.faces.DialogNavigationHandler</navigation-handler> + <variable-resolver>org.apache.shale.dialog.faces.DialogVariableResolver</variable-resolver> </application> <lifecycle> Modified: shale/framework/trunk/shale-dialog/src/site/xdoc/index.xml URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-dialog/src/site/xdoc/index.xml?view=diff&rev=494333&r1=494332&r2=494333 ============================================================================== --- shale/framework/trunk/shale-dialog/src/site/xdoc/index.xml (original) +++ shale/framework/trunk/shale-dialog/src/site/xdoc/index.xml Mon Jan 8 23:13:55 2007 @@ -362,6 +362,13 @@ <h:inputText id="name" ... value="#{dialog.data.name}"/> </source> + <p>(As of version 1.1, the preferred approach will be this:)</p> + +<source> + <h:inputText id="name" ... value="#{dialogScope.name}"/> +</source> + + <p>As an extra value-added feature, if the object you store as the <code>data</code> property is of a class that implements the <code>DialogContextListener</code> interface, your data object will