You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@apache.org on 2005/07/24 01:15:20 UTC
svn commit: r224583 - in /struts/shale/trunk/core-library: build.xml
src/conf/dialog.dtd
src/java/org/apache/shale/dialog/config/ConfigurationInit.java
Author: craigmcc
Date: Sat Jul 23 16:15:13 2005
New Revision: 224583
URL: http://svn.apache.org/viewcvs?rev=224583&view=rev
Log:
Support a "className" attribute on all of the configuration elements for a
Shale dialog, defaulting in each case to the existing implementation class.
This allows developers to supply custom implementations of the configuration
information with extra properties.
PR: Bugzilla #35783
Submitted By: Sean Schofield <sean.schofield AT gmail.com>
Modified:
struts/shale/trunk/core-library/build.xml
struts/shale/trunk/core-library/src/conf/dialog.dtd
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/config/ConfigurationInit.java
Modified: struts/shale/trunk/core-library/build.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/build.xml?rev=224583&r1=224582&r2=224583&view=diff
==============================================================================
--- struts/shale/trunk/core-library/build.xml (original)
+++ struts/shale/trunk/core-library/build.xml Sat Jul 23 16:15:13 2005
@@ -65,7 +65,7 @@
value="${spring.home}/dist/spring-context.jar"/>
<property name="spring-core.jar" value="${spring.home}/dist/spring-core.jar"/>
<property name="spring-web.jar" value="${spring.home}/dist/spring-web.jar"/>
- <property name="tiles.jar" value="${tiles.home}/core-library/dist/lib/tiles-core.jar"/>
+ <property name="tiles.jar" value="${tiles.home}/dist/lib/tiles-core.jar"/>
<!-- Build Defaults -->
Modified: struts/shale/trunk/core-library/src/conf/dialog.dtd
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/conf/dialog.dtd?rev=224583&r1=224582&r2=224583&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/conf/dialog.dtd (original)
+++ struts/shale/trunk/core-library/src/conf/dialog.dtd Sat Jul 23 16:15:13 2005
@@ -46,13 +46,18 @@
<!-- The "dialog" element defines the states for a particular reusable dialog,
which itself consists of zero or more states (of particular types). The
following attributes are defined:
-
+
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.DialogImpl]
+
name Name of this dialog (must be unique among
all defined dialogs).
start Name of the starting state for this dialog.
-->
<!ELEMENT dialog ((transition|action|end|subdialog|view)*)>
+<!ATTLIST dialog className CDATA #IMPLIED>
<!ATTLIST dialog name CDATA #REQUIRED>
<!ATTLIST dialog start CDATA #REQUIRED>
@@ -61,6 +66,10 @@
invocation of a public method that takes no arguments, and returns
the logical outcome as a String. The following attributes are defined:
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.ActionStateImpl]
+
name Name of this state (must be unique among
all states defined for this dialog).
@@ -70,6 +79,7 @@
the logical outcome of this state.
-->
<!ELEMENT action (transition*)>
+<!ATTLIST action className CDATA #IMPLIED>
<!ATTLIST action name CDATA #REQUIRED>
<!ATTLIST action method CDATA #REQUIRED>
@@ -80,6 +90,10 @@
returns will be used to trigger a transition in this dialog.
The following attributes are defined:
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.SubdialogStateImpl]
+
name Name of this state (must be unique among
all states defined for this dialog).
@@ -88,6 +102,7 @@
-->
<!ELEMENT subdialog (transition*)>
+<!ATTLIST subdialog className CDATA #IMPLIED>
<!ATTLIST subdialog name CDATA #REQUIRED>
<!ATTLIST subdialog dialogName CDATA #REQUIRED>
@@ -98,6 +113,10 @@
invoked is returned in order to determine the next transition. The
following attributes are defined:
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.ViewStateImpl]
+
name Name of this state (must be unique among
all states defined for this dialog).
@@ -109,6 +128,7 @@
-->
<!ELEMENT view (transition*)>
+<!ATTLIST view className CDATA #IMPLIED>
<!ATTLIST view name CDATA #REQUIRED>
<!ATTLIST view viewId CDATA #REQUIRED>
@@ -118,6 +138,10 @@
that a parent dialog which invoked the current dialog will be responsible
for producing the view for the current response.
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.EndStateImpl]
+
name Name of this state (must be unique among
all states defined for this dialog).
@@ -129,6 +153,7 @@
own state transition.
-->
<!ELEMENT end (transition*)>
+<!ATTLIST end className CDATA #IMPLIED>
<!ATTLIST end name CDATA #REQUIRED>
<!ATTLIST end viewId CDATA #IMPLIED>
@@ -137,6 +162,10 @@
state (in which this "transition" element is nested) to a subsequent
state. The following attributes are defined:
+ className Fully qualified class name of the configuration
+ object for this element.
+ [org.apache.shale.dialog.impl.TransitionImpl]
+
outcome Logical outcome String returned by the invoked
method (for an "action" element), or by the
invoked action's action method (for a "view"
@@ -148,6 +177,7 @@
-->
<!ELEMENT transition EMPTY>
+<!ATTLIST transition className CDATA #IMPLIED>
<!ATTLIST transition outcome CDATA #REQUIRED>
<!ATTLIST transition target CDATA #REQUIRED>
Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/config/ConfigurationInit.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/config/ConfigurationInit.java?rev=224583&r1=224582&r2=224583&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/config/ConfigurationInit.java (original)
+++ struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/config/ConfigurationInit.java Sat Jul 23 16:15:13 2005
@@ -146,60 +146,69 @@
// Configure processing rules
// dialogs/dialog
- digester.addObjectCreate("dialogs/dialog", DialogImpl.class);
+ digester.addObjectCreate("dialogs/dialog", "className", DialogImpl.class);
digester.addSetProperties("dialogs/dialog");
digester.addRule("dialogs/dialog", new AddDialogRule());
// dialogs/dialog/action
- digester.addObjectCreate("dialogs/dialog/action", ActionStateImpl.class);
+ digester.addObjectCreate("dialogs/dialog/action", "className",
+ ActionStateImpl.class);
digester.addSetProperties("dialogs/dialog/action");
digester.addSetNext("dialogs/dialog/action",
"addState", "org.apache.shale.dialog.State");
// dialogs/dialog/action/transition
- digester.addObjectCreate("dialogs/dialog/action/transition", TransitionImpl.class);
+ digester.addObjectCreate("dialogs/dialog/action/transition", "className",
+ TransitionImpl.class);
digester.addSetProperties("dialogs/dialog/action/transition");
digester.addSetNext("dialogs/dialog/action/transition",
"addTransition", "org.apache.shale.dialog.Transition");
// dialogs/dialog/end
- digester.addObjectCreate("dialogs/dialog/end", EndStateImpl.class);
+ digester.addObjectCreate("dialogs/dialog/end", "className",
+ EndStateImpl.class);
digester.addSetProperties("dialogs/dialog/end");
digester.addSetNext("dialogs/dialog/end",
"addState", "org.apache.shale.dialog.State");
// dialogs/dialog/end/transition
- digester.addObjectCreate("dialogs/dialog/end/transition", TransitionImpl.class);
+ digester.addObjectCreate("dialogs/dialog/end/transition", "className",
+ TransitionImpl.class);
digester.addSetProperties("dialogs/dialog/end/transition");
digester.addSetNext("dialogs/dialog/end/transition",
"addTransition", "org.apache.shale.dialog.Transition");
// dialogs/dialog/subdialog
- digester.addObjectCreate("dialogs/dialog/subdialog", SubdialogStateImpl.class);
+ digester.addObjectCreate("dialogs/dialog/subdialog", "className",
+ SubdialogStateImpl.class);
digester.addSetProperties("dialogs/dialog/subdialog");
digester.addSetNext("dialogs/dialog/subdialog",
"addState", "org.apache.shale.dialog.State");
// dialogs/dialog/subdialog/transition
- digester.addObjectCreate("dialogs/dialog/subdialog/transition", TransitionImpl.class);
+ digester.addObjectCreate("dialogs/dialog/subdialog/transition", "className",
+ TransitionImpl.class);
digester.addSetProperties("dialogs/dialog/subdialog/transition");
digester.addSetNext("dialogs/dialog/subdialog/transition",
"addTransition", "org.apache.shale.dialog.Transition");
// dialogs/dialog/transition
- digester.addObjectCreate("dialogs/dialog/transition", TransitionImpl.class);
+ digester.addObjectCreate("dialogs/dialog/transition", "className",
+ TransitionImpl.class);
digester.addSetProperties("dialogs/dialog/transition");
digester.addSetNext("dialogs/dialog/transition",
"addTransition", "org.apache.shale.dialog.Transition");
// dialogs/dialog/view
- digester.addObjectCreate("dialogs/dialog/view", ViewStateImpl.class);
+ digester.addObjectCreate("dialogs/dialog/view", "className",
+ ViewStateImpl.class);
digester.addSetProperties("dialogs/dialog/view");
digester.addSetNext("dialogs/dialog/view",
"addState", "org.apache.shale.dialog.State");
// dialogs/dialog/view/transition
- digester.addObjectCreate("dialogs/dialog/view/transition", TransitionImpl.class);
+ digester.addObjectCreate("dialogs/dialog/view/transition", "className",
+ TransitionImpl.class);
digester.addSetProperties("dialogs/dialog/view/transition");
digester.addSetNext("dialogs/dialog/view/transition",
"addTransition", "org.apache.shale.dialog.Transition");
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org