Author: craigmcc
Date: Sun Sep 10 21:18:44 2006
New Revision: 442088

URL: http://svn.apache.org/viewvc?view=rev&rev=442088
Log:
Test (and fix) the new feature that allows the type of the "data" object
to be pre-initialzed in dialog-config.xml so that applications do not
have to explicitly deal with it.

Modified:
    
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogContext.java
    
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogManager.java
    
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java
    
shale/sandbox/shale-test-dialog2-legacy/src/main/java/org/apache/shale/examples/test/dialog2/legacy/Wizard.java
    
shale/sandbox/shale-test-dialog2-legacy/src/main/webapp/WEB-INF/dialog-config.xml

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=442088&r1=442087&r2=442088
==============================================================================
--- 
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
 Sun Sep 10 21:18:44 2006
@@ -18,7 +18,6 @@
 
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import javax.faces.FacesException;
@@ -166,7 +165,8 @@
             if (index < 0) {
                 return null;
             }
-            return ((Position) positions.get(index)).getData();
+            Position position = (Position) positions.get(index);
+            return position.getData();
         }
 
     }
@@ -176,13 +176,13 @@
     /** [EMAIL PROTECTED] */
     public void setData(Object data) {
 
-        // Locks on "positions" for consistency
         synchronized (positions) {
             int index = positions.size() - 1;
             if (index < 0) {
                 throw new IllegalStateException("Cannot set data when no 
positions are stacked");
             }
-            ((Position) positions.get(index)).setData(data);
+            Position position = (Position) positions.get(index);
+            position.setData(data);
         }
 
     }

Modified: 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogManager.java
URL: 
http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogManager.java?view=diff&rev=442088&r1=442087&r2=442088
==============================================================================
--- 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogManager.java
 (original)
+++ 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/LegacyDialogManager.java
 Sun Sep 10 21:18:44 2006
@@ -124,7 +124,6 @@
         // Configure a new LegacyDialogContext instance
         LegacyDialogContext instance = new LegacyDialogContext(this, dialog, 
generateId(),
                                                                parentDialogId);
-        instance.setData(new HashMap());
         map.put(instance.getId(), instance);
         
context.getExternalContext().getRequestMap().put(Constants.CONTEXT_BEAN, 
instance);
         return instance;

Modified: 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java
URL: 
http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java?view=diff&rev=442088&r1=442087&r2=442088
==============================================================================
--- 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java
 (original)
+++ 
shale/sandbox/shale-dialog2-legacy/src/main/java/org/apache/shale/dialog2/legacy/config/DialogImpl.java
 Sun Sep 10 21:18:44 2006
@@ -213,6 +213,17 @@
 
 
     /**
+     * <p>Return the data class name for the <code>data</code> property
+     * of a newly instantiated <code>DialogContext</code>.</p>
+     */
+    public String getDataClassName() {
+
+        return dataClass.getName();
+
+    }
+
+
+    /**
      * <p>Set the data class name for the <code>data</code> property
      * of a newly instantiated <code>DialogContext</code>.</p>
      *

Modified: 
shale/sandbox/shale-test-dialog2-legacy/src/main/java/org/apache/shale/examples/test/dialog2/legacy/Wizard.java
URL: 
http://svn.apache.org/viewvc/shale/sandbox/shale-test-dialog2-legacy/src/main/java/org/apache/shale/examples/test/dialog2/legacy/Wizard.java?view=diff&rev=442088&r1=442087&r2=442088
==============================================================================
--- 
shale/sandbox/shale-test-dialog2-legacy/src/main/java/org/apache/shale/examples/test/dialog2/legacy/Wizard.java
 (original)
+++ 
shale/sandbox/shale-test-dialog2-legacy/src/main/java/org/apache/shale/examples/test/dialog2/legacy/Wizard.java
 Sun Sep 10 21:18:44 2006
@@ -88,7 +88,7 @@
             log.info("Setting up WizardData for a new dialog context id " + 
dcontext.getId());
         }
 
-        WizardData data = new WizardData();
+        WizardData data = (WizardData) dcontext.getData();
         data.setUsername("initUsername");
         data.setPassword("initPassword");
         data.setName("initName");
@@ -99,7 +99,6 @@
         data.setZipcode("initZipcode");
         data.setAdministrator(false);
         data.setEnabled(true);
-        dcontext.setData(data);
 
         return "success";
 

Modified: 
shale/sandbox/shale-test-dialog2-legacy/src/main/webapp/WEB-INF/dialog-config.xml
URL: 
http://svn.apache.org/viewvc/shale/sandbox/shale-test-dialog2-legacy/src/main/webapp/WEB-INF/dialog-config.xml?view=diff&rev=442088&r1=442087&r2=442088
==============================================================================
--- 
shale/sandbox/shale-test-dialog2-legacy/src/main/webapp/WEB-INF/dialog-config.xml
 (original)
+++ 
shale/sandbox/shale-test-dialog2-legacy/src/main/webapp/WEB-INF/dialog-config.xml
 Sun Sep 10 21:18:44 2006
@@ -25,14 +25,15 @@
 -->
 
 <!DOCTYPE dialogs PUBLIC
-  "-//Apache Software Foundation//DTD Shale Dialog2 Configuration 1.0//EN"
-  "http://shale.apache.org/dtds/dialog2-config_1_0.dtd";>
+  "-//Apache Software Foundation//DTD Shale Dialog2 Configuration 1.1//EN"
+  "http://shale.apache.org/dtds/dialog2-config_1_1.dtd";>
 
 <dialogs>
 
 
     <!-- Three Page Wizard Dialog -->
     <dialog              name="wizard"
+                
dataClassName="org.apache.shale.examples.test.dialog2.legacy.WizardData"
                         start="setup">
 
       <action            name="setup"


Reply via email to