Update of 
/var/cvs/applications/editwizard/src/org/mmbase/applications/editwizard
In directory james.mmbase.org:/tmp/cvs-serv6653

Modified Files:
        Config.java Wizard.java WizardCommand.java 
        WizardDatabaseConnector.java 
Log Message:
started on makeing everything serializable. No exceptions any more, but wizards 
are still not working after restart


See also: 
http://cvs.mmbase.org/viewcvs/applications/editwizard/src/org/mmbase/applications/editwizard


Index: Config.java
===================================================================
RCS file: 
/var/cvs/applications/editwizard/src/org/mmbase/applications/editwizard/Config.java,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- Config.java 7 Jul 2007 13:32:06 -0000       1.69
+++ Config.java 12 Feb 2008 17:41:14 -0000      1.70
@@ -11,6 +11,7 @@
 
 import java.util.*;
 import java.net.*;
+import java.io.*;
 import org.mmbase.util.xml.URIResolver;
 import javax.servlet.jsp.PageContext;
 import javax.servlet.http.HttpServletRequest;
@@ -30,7 +31,7 @@
  *
  * @author  Michiel Meeuwissen
  * @since   MMBase-1.6
- * @version $Id: Config.java,v 1.69 2007/07/07 13:32:06 michiel Exp $
+ * @version $Id: Config.java,v 1.70 2008/02/12 17:41:14 michiel Exp $
  */
 
 public class Config implements java.io.Serializable {
@@ -114,9 +115,11 @@
     protected Map<String, Object> attributes;
 
 
+
     //   public String context; (contained in attributes now)
 
     static public class SubConfig implements java.io.Serializable {
+        private static final long serialVersionUID = 1L;
         public boolean debug = false;
         public String wizard;
         public String page;
@@ -172,6 +175,7 @@
     }
 
     static public class WizardConfig extends SubConfig {
+        private static final long serialVersionUID = 1L;
         public Wizard wiz;
         public String objectNumber;
         public String parentFid;
@@ -209,9 +213,16 @@
             return attributeMap;
         }
         */
+        private void writeObject(ObjectOutputStream out) throws IOException {
+            out.defaultWriteObject();
+        }
+        private void readObject(ObjectInputStream in) throws IOException, 
ClassNotFoundException {
+            in.defaultReadObject();
+        }
     }
 
     static public class ListConfig extends SubConfig {
+        private static final long serialVersionUID = 2L;
 
         // constants for 'search' parameter. Order of value matters (force 
must be bigger then yes)
         public static final int SEARCH_NO   = 0;
@@ -223,7 +234,7 @@
 
 
         public String title;
-        public URL    template;
+        public transient URL    template;
         public String fields;
         public String startNodes;
         public String nodePath;
@@ -565,6 +576,16 @@
                 parsed = true;
             }
 
+
+        }
+        private void writeObject(ObjectOutputStream out) throws IOException {
+            out.defaultWriteObject();
+            out.writeUTF(template.toString());
+        }
+        private void readObject(ObjectInputStream in) throws IOException, 
ClassNotFoundException {
+            in.defaultReadObject();
+            String u = in.readUTF();
+            template = ResourceLoader.getWebRoot().getResource(u);
         }
 
         /**


Index: Wizard.java
===================================================================
RCS file: 
/var/cvs/applications/editwizard/src/org/mmbase/applications/editwizard/Wizard.java,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -b -r1.157 -r1.158
--- Wizard.java 30 Nov 2007 15:00:00 -0000      1.157
+++ Wizard.java 12 Feb 2008 17:41:14 -0000      1.158
@@ -21,6 +21,7 @@
 import org.mmbase.util.ResourceLoader;
 import org.mmbase.util.logging.*;
 import org.mmbase.util.xml.URIResolver;
+import org.mmbase.util.xml.DocumentSerializable;
 import org.mmbase.util.XMLEntityResolver;
 
 import java.util.regex.*;
@@ -28,8 +29,7 @@
 import org.w3c.dom.*;
 
 import java.net.URL;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
+import java.io.*;
 
 import java.util.*;
 
@@ -46,10 +46,12 @@
  * @author Pierre van Rooden
  * @author Hillebrand Gelderblom
  * @since MMBase-1.6
- * @version $Id: Wizard.java,v 1.157 2007/11/30 15:00:00 michiel Exp $
+ * @version $Id: Wizard.java,v 1.158 2008/02/12 17:41:14 michiel Exp $
  *
  */
-public class Wizard implements org.mmbase.util.SizeMeasurable {
+public class Wizard implements org.mmbase.util.SizeMeasurable, 
java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final Logger log = Logging.getLoggerInstance(Wizard.class);
     public static final String PUBLIC_ID_EDITWIZARD_1_0 = "-//MMBase//DTD 
editwizard 1.0//EN";
     public static final String PUBLIC_ID_EDITWIZARD_1_0_FAULT = "-//MMBase/DTD 
editwizard 1.0//EN";
@@ -97,7 +99,7 @@
     private String currentFormId;
 
     // filename of the stylesheet which should be used to make the html form.
-    private URL wizardStylesheetFile;
+    private transient URL wizardStylesheetFile;
     private String sessionId;
     private String sessionKey = "editwizard";
     private String referrer = "";
@@ -106,12 +108,10 @@
 
     /**
      * public xmldom's: the schema, the data and the originaldata is stored.
-     *
-     * @scope private
      */
-    private Document schema;
-    private Document data;
-    private Document originalData;
+    private transient Document schema;
+    private transient Document data;
+    private transient Document originalData;
 
     // not yet committed uploads are stored in these hashmaps
     private Map<String, byte[]> binaries = new HashMap<String, byte[]>();
@@ -122,7 +122,7 @@
     private Map<String, Object> variables = new HashMap<String, Object>();
 
     // the constraints received from mmbase are stored + cached in this xmldom
-    private Document constraints;
+    private transient Document constraints;
 
     // Seconds.
     private long listQueryTimeOut = 60 * 60;
@@ -1406,8 +1406,8 @@
         }
     }
 
-    private final Pattern NUMBER_ORDERTYPE = 
Pattern.compile("(?i).*\\bnumber\\b.*");
-    private final Pattern INVERSE_ORDERTYPE = 
Pattern.compile("(?i).*\\binverse\\b.*");
+    private final static Pattern NUMBER_ORDERTYPE = 
Pattern.compile("(?i).*\\bnumber\\b.*");
+    private final static Pattern INVERSE_ORDERTYPE = 
Pattern.compile("(?i).*\\binverse\\b.*");
 
     /**
      *       Creates a form item (each of which may consist of several single 
form fields)
@@ -2936,4 +2936,24 @@
             }
         }
     }
+
+    private void readObject(ObjectInputStream in) throws IOException, 
ClassNotFoundException {
+        in.defaultReadObject();
+        schema = ((DocumentSerializable) in.readObject()).getDocument();
+        data = ((DocumentSerializable) in.readObject()).getDocument();
+        originalData = ((DocumentSerializable) in.readObject()).getDocument();
+        constraints = ((DocumentSerializable) in.readObject()).getDocument();
+        String u = in.readUTF();
+        wizardStylesheetFile = ResourceLoader.getWebRoot().getResource(u);
+        log.service("Deserialized wizard " + this);
+    }
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        out.defaultWriteObject();
+        out.writeObject(new DocumentSerializable(schema));
+        out.writeObject(new DocumentSerializable(data));
+        out.writeObject(new DocumentSerializable(originalData));
+        out.writeObject(new DocumentSerializable(constraints));
+        out.writeUTF(wizardStylesheetFile.toString());
+
+    }
 }


Index: WizardCommand.java
===================================================================
RCS file: 
/var/cvs/applications/editwizard/src/org/mmbase/applications/editwizard/WizardCommand.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- WizardCommand.java  13 Jun 2007 20:54:26 -0000      1.13
+++ WizardCommand.java  12 Feb 2008 17:41:14 -0000      1.14
@@ -20,9 +20,11 @@
  * @author Kars Veling
  * @author Pierre van Rooden
  * @since MMBase-1.6
- * @version $Id: WizardCommand.java,v 1.13 2007/06/13 20:54:26 nklasens Exp $
+ * @version $Id: WizardCommand.java,v 1.14 2008/02/12 17:41:14 michiel Exp $
  */
-public class WizardCommand {
+public class WizardCommand implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
 
     public final static short UNKNOWN_COMMAND = -1;
     public final static short ADD_ITEM = 0;


Index: WizardDatabaseConnector.java
===================================================================
RCS file: 
/var/cvs/applications/editwizard/src/org/mmbase/applications/editwizard/WizardDatabaseConnector.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- WizardDatabaseConnector.java        7 Jul 2007 13:32:06 -0000       1.49
+++ WizardDatabaseConnector.java        12 Feb 2008 17:41:14 -0000      1.50
@@ -31,12 +31,13 @@
  * @author Michiel Meeuwissen
  * @author Pierre van Rooden
  * @since MMBase-1.6
- * @version $Id: WizardDatabaseConnector.java,v 1.49 2007/07/07 13:32:06 
michiel Exp $
+ * @version $Id: WizardDatabaseConnector.java,v 1.50 2008/02/12 17:41:14 
michiel Exp $
  *
  */
-public class WizardDatabaseConnector {
+public class WizardDatabaseConnector implements java.io.Serializable {
+
+    private static final long serialVersionUID = 1L;
 
-    // logging
     private static final Logger log = 
Logging.getLoggerInstance(WizardDatabaseConnector.class);
 
     int didcounter=1;
@@ -717,7 +718,7 @@
      * @since MMBase 1.8
      * @param rootNode the node whose field sub nodes should be converted
      */
-    protected void convertBooleanToInt(Node rootNode) {
+    protected static void convertBooleanToInt(Node rootNode) {
         // convert all datetime values
         NodeList nodes = Utils.selectNodeList(rootNode, ".//[EMAIL 
PROTECTED]'boolean']");
         for (int i = 0; i < nodes.getLength(); i++) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to