You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by cr...@apache.org on 2006/09/11 22:51:32 UTC
svn commit: r442348 - in /shale/sandbox:
shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/
shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/
shale-dialog2/src/main/java/org/apache/shale/dialog2/
Author: craigmcc
Date: Mon Sep 11 13:51:32 2006
New Revision: 442348
URL: http://svn.apache.org/viewvc?view=rev&rev=442348
Log:
For symmetry with start(), and a stop() method to encapsulate
programmatically stopping an existing DialogContext instance
prematurely.
Modified:
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java
shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java
shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/DialogContext.java
Modified: shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java?view=diff&rev=442348&r1=442347&r2=442348
==============================================================================
--- shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java (original)
+++ shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java Mon Sep 11 13:51:32 2006
@@ -25,6 +25,7 @@
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
+import org.apache.shale.dialog2.Constants;
import org.apache.shale.dialog2.DialogContext;
import org.apache.shale.dialog2.DialogContextManager;
import org.apache.shale.dialog2.legacy.config.ConfigurationParser;
@@ -266,7 +267,7 @@
pop();
position = peek();
if (position == null) {
- deactivate();
+ stop(context);
}
return ((EndState) state).getViewId();
} else if (state instanceof SubdialogState) {
@@ -317,13 +318,29 @@
}
+ /** {@inheritDoc} */
+ public void stop(FacesContext context) {
+
+ if (!started) {
+ throw new IllegalStateException("Dialog instance '"
+ + getId() + "' for dialog name '"
+ + getName() + "' has not yet been started");
+ }
+ started = false;
+ deactivate();
+ manager.remove(this);
+
+ }
+
+
// ------------------------------------------------- Package Private Methods
/**
* <p>Mark this {@link DialogContext} as being deactivated. This should only
* be called by the <code>remove()</code> method on our associated
- * {@link DialogContextManager}.</p>
+ * {@link DialogContextManager}, or the logic of our <code>stop()</code>
+ * method.</p>
*/
void deactivate() {
Modified: shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java?view=diff&rev=442348&r1=442347&r2=442348
==============================================================================
--- shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java (original)
+++ shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java Mon Sep 11 13:51:32 2006
@@ -190,6 +190,12 @@
}
+ /** {@inheritDoc} */
+ public void stop(FacesContext context) {
+ throw new UnsupportedOperationException(); // FIXME - implement this
+ }
+
+
// ------------------------------------------------- Package Private Methods
Modified: shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/DialogContext.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/DialogContext.java?view=diff&rev=442348&r1=442347&r2=442348
==============================================================================
--- shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/DialogContext.java (original)
+++ shale/sandbox/shale-dialog2/src/main/java/org/apache/shale/dialog2/DialogContext.java Mon Sep 11 13:51:32 2006
@@ -114,4 +114,16 @@
public void start(FacesContext context);
+ /**
+ * <p>Stop the execution of a currently running dialog context instance,
+ * resulting in no currently active dialog for the current JSF view.</p>
+ *
+ * @param context FacesContext for the current request
+ *
+ * @exception IllegalStateException if this {@link DialogContext}
+ * instance has not yet been started
+ */
+ public void stop(FacesContext context);
+
+
}