1 package org.simantics.db.common;
3 import java.io.ByteArrayInputStream;
4 import java.io.ByteArrayOutputStream;
5 import java.io.ObjectInputStream;
6 import java.io.ObjectOutputStream;
9 import org.simantics.db.Metadata;
10 import org.simantics.db.Session;
11 import org.simantics.db.common.utils.Logger;
13 public class CommitMetadata implements Metadata {
14 final boolean DEBUG = true;
15 public final long opid;
16 public final Date date;
17 public CommitMetadata(long opid) {
19 this.date = new Date();
21 public CommitMetadata(long opid, Date date) {
26 public byte[] serialise(Session session) {
28 ByteArrayOutputStream os = new ByteArrayOutputStream();
29 ObjectOutputStream oos = new ObjectOutputStream(os);
31 oos.writeObject(date);
33 return os.toByteArray();
34 } catch (Exception e) {
35 Logger.defaultLogError(e.toString());
41 public static CommitMetadata deserialise(Session session, byte[] input) {
43 ByteArrayInputStream is = new ByteArrayInputStream(input);
44 ObjectInputStream ois = new ObjectInputStream(is);
45 long opid = ois.readLong();
46 Object date = ois.readObject();
48 if (date instanceof Date)
49 return new CommitMetadata(opid, (Date)date);
50 } catch (Throwable e) {
51 Logger.defaultLogError(e);