Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ActionStateImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ActionStateImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ActionStateImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ActionStateImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import org.apache.shale.dialog.ActionState;
+import org.apache.shale.dialog.State;
+
+/**
+ * <p>[EMAIL PROTECTED] ActionStateImpl} is a basic implementation of
+ * [EMAIL PROTECTED] ActionState}.</p>
+ *
+ * $Id$
+ */
+
+public class ActionStateImpl extends AbstractState implements ActionState {
+
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p>Method binding expression specifying the method to be invoked
+     * when this [EMAIL PROTECTED] State} is entered.</p>
+     */
+    private String method = null;
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getMethod() {
+
+        return this.method;
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "ActionState[dialog=" + getDialog().getName() +
+               ",name=" + getName() +
+               ",method=" + getMethod() +
+               "]";
+
+    }
+
+
+    // --------------------------------------------------- Configuration 
Methods
+
+
+    /**
+     * <p>Set the method binding expression specifying the method to be
+     * invoked when this [EMAIL PROTECTED] State} is entered.</p>
+     *
+     * @param method The new method binding expression
+     */
+    public void setMethod(String method) {
+
+        this.method = method;
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/DialogImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/DialogImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/DialogImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/DialogImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,234 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.shale.dialog.Dialog;
+import org.apache.shale.dialog.State;
+import org.apache.shale.dialog.Transition;
+
+/**
+ * <p>[EMAIL PROTECTED] DialogImpl} is a basic implementation of [EMAIL 
PROTECTED] Dialog}.</p>
+ *
+ * $Id$
+ */
+public class DialogImpl implements Dialog {
+
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p><code>Log</code> instance for this instance.</p>
+     */
+    protected final Log log = LogFactory.getLog(getClass());
+
+
+
+    /**
+     * <p>Name of this [EMAIL PROTECTED] Dialog}.</p>
+     */
+    private String name = null;
+
+
+    /**
+     * <p>Name of the starting [EMAIL PROTECTED] State} for this [EMAIL 
PROTECTED] Dialog}.</p>
+     */
+    private String start = null;
+
+
+    /**
+     * <p>The [EMAIL PROTECTED] State}s owned by this [EMAIL PROTECTED] 
Dialog}, keyed by
+     * identifier.</p>
+     */
+    private Map states = new HashMap();
+
+
+    /**
+     * <p>The global [EMAIL PROTECTED] Transition}s owned by this [EMAIL 
PROTECTED] Dialog}, keyed by
+     * outcome.  Logic that performs transition management should first check
+     * for a [EMAIL PROTECTED] Transition} associated with the origin [EMAIL 
PROTECTED] State}, then
+     * consult the [EMAIL PROTECTED] Dialog} for a global definition.</p>
+     */
+    private Map transitions = new HashMap();
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * <p>Return the name of this [EMAIL PROTECTED] Dialog}.</p>
+     */
+    public String getName() {
+
+        return this.name;
+
+    }
+
+
+    /**
+     * <p>Return the name of the starting [EMAIL PROTECTED] State} for this
+     * [EMAIL PROTECTED] Dialog}.</p>
+     */
+    public String getStart() {
+
+        return this.start;
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Return the specified [EMAIL PROTECTED] State}, owned by this [EMAIL 
PROTECTED] Dialog},
+     * if any.  Otherwise, return <code>null</code>.</p>
+     *
+     * @param id Identifier of the requested [EMAIL PROTECTED] State}
+     */
+    public State findState(String id) {
+
+        return (State) states.get(id);
+
+    }
+
+
+    /**
+     * <p>Return the global [EMAIL PROTECTED] Transition} for the specified 
logical outcome,
+     * if any; otherwise, return <code>null</code>.</p>
+     *
+     * @param outcome Logical outcome for which to return a [EMAIL PROTECTED] 
Transition}
+     */
+    public Transition findTransition(String outcome) {
+
+        return (Transition) transitions.get(outcome);
+
+    }
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "Dialog[name=" + this.name + ",start=" + this.start + "]";
+
+    }
+
+
+    // --------------------------------------------------- Configuration 
Methods
+
+
+    /**
+     * <p>Add the specified [EMAIL PROTECTED] State} to the [EMAIL PROTECTED] 
State}s owned by
+     * this [EMAIL PROTECTED] Dialog}.</p>
+     *
+     * @param state [EMAIL PROTECTED] State} to be added
+     *
+     * @exception IllegalArgumentException if there is already a [EMAIL 
PROTECTED] State}
+     *  with the specified <code>id</code> owned by this [EMAIL PROTECTED] 
Dialog}
+     */
+    public void addState(State state) {
+
+        if (states.containsKey(state.getName())) {
+            throw new IllegalArgumentException(state.getName());
+        }
+        states.put(state.getName(), state);
+        if (state instanceof AbstractState) {
+            ((AbstractState) state).setDialog(this);
+        }
+
+    }
+
+
+    /**
+     * <p>Add the specified [EMAIL PROTECTED] Transition} to the global [EMAIL 
PROTECTED] Transition}s
+     * associated with this [EMAIL PROTECTED] Dialog}.</p>
+     *
+     * @param transition [EMAIL PROTECTED] Transition} to be added
+     *
+     * @exception IllegalArgumentException if the specified [EMAIL PROTECTED] 
Transition}
+     *  cannot be added to this [EMAIL PROTECTED] State}
+     */
+    public void addTransition(Transition transition) {
+
+        // FIXME - addTransition() - ignore duplicate outcomes for now
+        transitions.put(transition.getOutcome(), transition);
+
+    }
+
+
+    /**
+     * <p>Set the name of this [EMAIL PROTECTED] Dialog}.</p>
+     *
+     * @param name New name
+     */
+    public void setName(String name) {
+
+        this.name = name;
+
+    }
+
+
+    /**
+     * <p>Set the name of the starting [EMAIL PROTECTED] State} for this
+     * [EMAIL PROTECTED] Dialog}.</p>
+     *
+     * @param start Name of the starting [EMAIL PROTECTED] State}
+     */
+    public void setStart(String start) {
+
+        this.start = start;
+
+    }
+
+
+    /**
+     * <p>Remove the specified [EMAIL PROTECTED] State} from the [EMAIL 
PROTECTED] State}s owned by
+     * this [EMAIL PROTECTED] Dialog}, if it is currently registered.  
Otherwise,
+     * do nothing.</p>
+     *
+     * @param state [EMAIL PROTECTED] State} to be removed
+     */
+    public void removeState(State state) {
+
+        states.remove(state.getName());
+        if (state instanceof AbstractState) {
+            ((AbstractState) state).setDialog(null);
+        }
+
+    }
+
+
+    /**
+     * <p>Remove the specified [EMAIL PROTECTED] Transition} from the global
+     * [EMAIL PROTECTED] Transition}s associated with this [EMAIL PROTECTED] 
Dialog}, if it is
+     * currently registered.  Otherwise, do nothing.</p>
+     *
+     * @param transition [EMAIL PROTECTED] Transition} to be removed
+     */
+    public void removeTransition(Transition transition) {
+
+        transitions.remove(transition.getOutcome());
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/EndStateImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/EndStateImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/EndStateImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/EndStateImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import org.apache.shale.dialog.EndState;
+
+/**
+ * <p>[EMAIL PROTECTED] EndStateImpl} is a basic implementation of
+ * [EMAIL PROTECTED] EndState}.</p>
+ *
+ * $Id$
+ */
+
+public class EndStateImpl extends ViewStateImpl implements EndState {
+    
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "EndState[dialog=" + getDialog().getName() +
+               ",name=" + getName() +
+               ",viewId=" + getViewId() + "]";
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/StatusImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/StatusImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/StatusImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/StatusImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,225 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.shale.dialog.Dialog;
+import org.apache.shale.dialog.Status;
+import org.apache.shale.dialog.Status.Position;
+
+/**
+ * <p>Class used to record the current status of executing a [EMAIL PROTECTED] 
Dialog},
+ * plus parent [EMAIL PROTECTED] Dialog}s that have executed subordinate 
[EMAIL PROTECTED] Dialog}s
+ * as part of their own processing.  Instances are stored in session
+ * scope, so this class <strong>MUST</strong> be serializable, and
+ * <strong>MUST NOT</strong> maintain references to application scope
+ * variabes.</p>
+ *
+ * <p>Associated with each [EMAIL PROTECTED] Position}, applications have the 
option
+ * to store a reference to a generic "data" object which (because it is
+ * referenced by a [EMAIL PROTECTED] Status} object stored in session scope 
under a
+ * well known key), is conveniently accessible for binding and lookup
+ * operations.  When a [EMAIL PROTECTED] Position} is popped, the corresponding
+ * data object reference is also released, avoiding the need for the
+ * application to manage "dialog scope" resources itself.</p>
+ *
+ * $Id$
+ */
+
+public class StatusImpl implements Status {
+    
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p>Log instance for this instance.</p>
+     */
+    private final Log log = LogFactory.getLog(this.getClass());
+
+
+    /**
+     * <p>The stack of currently stored [EMAIL PROTECTED] Position}s.  If 
there are no
+     * entries, there is no currently executing dialog.</p>
+     */
+    private List positions = new ArrayList();
+
+
+    /**
+     * <p>References to data objects that are associated with the
+     * [EMAIL PROTECTED] Position}s at corresponding indexes of the 
<code>positions</code>
+     * list.</p>
+     */
+    private List references = new ArrayList();
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public Object getData() {
+
+        // NOTE - all locks on "positions" for consistency
+        synchronized (positions) {
+            int index = positions.size() - 1;
+            if (index < 0) {
+                return null;
+            }
+            return references.get(index);
+        }
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public void setData(Object data) {
+
+        // NOTE - all locks on "positions" for consistency
+        synchronized (positions) {
+            int index = positions.size() - 1;
+            if (index < 0) {
+                throw new IllegalStateException();
+            }
+            references.set(index, data);
+        }
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getDialogName() {
+
+        Position position = peek();
+        if (position != null) {
+            return position.getDialogName();
+        } else {
+            return null;
+        }
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getStateName() {
+
+        Position position = peek();
+        if (position != null) {
+            return position.getStateName();
+        } else {
+            return null;
+        }
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public Position peek() {
+
+        synchronized (positions) {
+            int index = positions.size() - 1;
+            if (log.isTraceEnabled()) {
+                log.trace("peek() --> " +
+                          ((index < 0) ? null : (Position) 
positions.get(index)) +
+                          "@" + index);
+            }
+            if (index < 0) {
+                return null;
+            }
+            return (Position) positions.get(index);
+        }
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public Position pop() {
+
+        synchronized (positions) {
+            int index = positions.size() - 1;
+            if (index < 0) {
+                throw new IllegalStateException();
+            }
+            positions.remove(index);
+            references.remove(index);
+            if (log.isDebugEnabled()) {
+                log.debug("pop(" + index + ") --> " +
+                          ((index > 0) ? (Position) positions.get(index-1) : 
null));
+            }
+            if (index > 0) {
+                return (Position) positions.get(index - 1);
+            } else {
+                return null;
+            }
+        }
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public void push(Position position) {
+
+        if (position == null) {
+            throw new IllegalArgumentException();
+        }
+        synchronized (positions) {
+            positions.add(position);
+            references.add(null);
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("push(" + position + ")@" + (positions.size()-1));
+        }
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public void transition(String stateName) {
+
+        synchronized (positions) {
+            int index = positions.size() - 1;
+            if (index < 0) {
+                throw new IllegalArgumentException();
+            }
+            ((Position) positions.get(index)).setStateName(stateName);
+        }
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/SubdialogStateImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/SubdialogStateImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/SubdialogStateImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/SubdialogStateImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import org.apache.shale.dialog.SubdialogState;
+
+/**
+ * <p>[EMAIL PROTECTED] SubdialogStateImpl} is a basic implementation of
+ * [EMAIL PROTECTED] SubdialogState}.</p>
+ *
+ * $Id$
+ */
+
+public class SubdialogStateImpl extends AbstractState implements 
SubdialogState {
+    
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p>The name of the subordinate dialog to be executed by this state.</p>
+     */
+    private String dialogName = null;
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getDialogName() {
+
+        return this.dialogName;
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "SubdialogState[dialog=" + getDialog().getName() +
+               ",name=" + getName() +
+               ",dialogName=" + this.dialogName + "]";
+
+    }
+
+
+    // --------------------------------------------------- Configuration 
Methods
+
+
+    /**
+     * <p>Set the name of the subordinate dialog to be executed
+     * by this state.</p>
+     *
+     * @param dialogName The subordinate dialog name
+     */
+    public void setDialogName(String dialogName) {
+
+        this.dialogName = dialogName;
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/TransitionImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/TransitionImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/TransitionImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/TransitionImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.shale.dialog.State;
+import org.apache.shale.dialog.Transition;
+
+/**
+ * <p>[EMAIL PROTECTED] TransitionImpl} is a basic implementation of
+ * [EMAIL PROTECTED] Transition}.</p>
+ *
+ * $Id$
+ */
+
+public class TransitionImpl implements Transition {
+    
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p><code>Log</code> instance for this instance.</p>
+     */
+    protected final Log log = LogFactory.getLog(getClass());
+
+
+    /**
+     * <p>The logical outcome used to select this [EMAIL PROTECTED] 
Transition}.</p>
+     */
+    private String outcome = null;
+
+
+    /**
+     * <p>The identifier of the target [EMAIL PROTECTED] State} for this
+     * [EMAIL PROTECTED] Transition}.</p>
+     */
+    private String target = null;
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getOutcome() {
+
+        return this.outcome;
+
+    }
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getTarget() {
+
+        return this.target;
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "Transition[outcome=" + this.outcome +
+               ",target=" + this.target + "]";
+
+    }
+
+
+    // --------------------------------------------------- Configuration 
Methods
+
+
+    /**
+     * <p>Set the logical outcome used to select this [EMAIL PROTECTED] 
Transition}.</p>
+     *
+     * @param outcome New logical outcome
+     */
+    public void setOutcome(String outcome) {
+
+        this.outcome = outcome;
+
+    }
+
+
+    /**
+     * <p>Set the target [EMAIL PROTECTED] State} identifier for this
+     * [EMAIL PROTECTED] Transition}.</p>
+     *
+     * @param target New target identifier
+     */
+    public void setTarget(String target) {
+
+        this.target = target;
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ViewStateImpl.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ViewStateImpl.java?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ViewStateImpl.java
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/ViewStateImpl.java
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.dialog.impl;
+
+import org.apache.shale.dialog.ViewState;
+
+/**
+ * <p>[EMAIL PROTECTED] ViewStateImpl} is a basic implementation of
+ * [EMAIL PROTECTED] ViewState}.</p>
+ *
+ * $Id$
+ */
+
+public class ViewStateImpl extends AbstractState implements ViewState {
+    
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    /**
+     * <p>The view identifier of the JavaServer Faces view to render if this
+     * state is entered.</p>
+     */
+    private String viewId = null;
+
+
+    // -------------------------------------------------------------- 
Properties
+
+
+    /**
+     * [EMAIL PROTECTED]
+     */
+    public String getViewId() {
+
+        return this.viewId;
+
+    }
+
+
+    // ---------------------------------------------------------- Public 
Methods
+
+
+    /**
+     * <p>Render a printable version of this instance.</p>
+     */
+    public String toString() {
+
+        return "ViewState[dialog=" + getDialog().getName() +
+               ",name=" + getName() +
+               ",viewId=" + this.viewId + "]";
+
+    }
+
+
+    // --------------------------------------------------- Configuration 
Methods
+
+
+    /**
+     * <p>Set the view identifier of the JavaServer Faces view to render
+     * if this state is entered.</p>
+     *
+     * @param viewId The new view identifier
+     */
+    public void setViewId(String viewId) {
+
+        this.viewId = viewId;
+
+    }
+
+
+}

Added: 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/package.html
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/package.html?rev=165422&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/package.html
 (added)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/dialog/impl/package.html
 Sat Apr 30 14:46:16 2005
@@ -0,0 +1,26 @@
+<!--
+ * Copyright 2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<!-- $Id$ -->
+
+<body>
+
+<h3>Dialog API Base Implementation Classes.</h3>
+
+<p>This package contains basic implementations for all of the interfaces
+defined in the <a href="../index.html">org.apache.shale.dialog</a> package.</p>
+
+</body>

Modified: 
struts/shale/trunk/core-library/src/java/org/apache/shale/faces/shale-config.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/faces/shale-config.xml?rev=165422&r1=165421&r2=165422&view=diff
==============================================================================
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/faces/shale-config.xml
 (original)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/faces/shale-config.xml
 Sat Apr 30 14:46:16 2005
@@ -39,7 +39,7 @@
   <chain           name="destroy">
 
     <!-- Clean up dialogs configuration -->
-    <command className="org.apache.shale.dialog.ConfigurationDestroy"/>
+    <command className="org.apache.shale.dialog.config.ConfigurationDestroy"/>
 
   </chain>
 
@@ -48,7 +48,7 @@
   <chain           name="init">
 
     <!-- Configure dialogs from specified resources -->
-    <command className="org.apache.shale.dialog.ConfigurationInit"/>
+    <command className="org.apache.shale.dialog.config.ConfigurationInit"/>
 
   </chain>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to