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