[jboss-svn-commits] JBL Code SVN: r28042 - in labs/jbossrules/trunk/drools-guvnor/src: main/java/org/drools/guvnor/server/util and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 15 06:30:02 EDT 2009


Author: michael.neale at jboss.com
Date: 2009-07-15 06:30:02 -0400 (Wed, 15 Jul 2009)
New Revision: 28042

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/DiscussionRecord.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/Discussion.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/util/DiscussionTest.java
Log:
foundation for GUVNOR-414 - back end of new discussion feature

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/DiscussionRecord.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/DiscussionRecord.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/DiscussionRecord.java	2009-07-15 10:30:02 UTC (rev 28042)
@@ -0,0 +1,15 @@
+package org.drools.guvnor.client.rpc;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Calendar;
+
+/**
+ * This is a discussion record item.
+ * @author Michael Neale
+ */
+public class DiscussionRecord implements Serializable {
+    public long timestamp = Calendar.getInstance().getTimeInMillis();
+    public String note;
+    public String author;
+}

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/Discussion.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/Discussion.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/Discussion.java	2009-07-15 10:30:02 UTC (rev 28042)
@@ -0,0 +1,29 @@
+package org.drools.guvnor.server.util;
+
+import org.drools.guvnor.client.rpc.DiscussionRecord;
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * @author Michael Neale
+ */
+public class Discussion {
+
+    private XStream xs = getXStream();
+
+    public String toString(DiscussionRecord[] recs) {
+        return xs.toXML(recs);
+    }
+
+    public DiscussionRecord[] fromString(String data) {
+        if (data == null || data.equals("")) return new DiscussionRecord[0];
+        return (DiscussionRecord[]) xs.fromXML(data);
+    }
+
+
+    public XStream getXStream() {
+        XStream xs = new XStream();
+        xs.alias("discussion-record", DiscussionRecord.class);
+        xs.alias("discussion", DiscussionRecord[].class);
+        return xs;
+    }
+}

Added: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/util/DiscussionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/util/DiscussionTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/util/DiscussionTest.java	2009-07-15 10:30:02 UTC (rev 28042)
@@ -0,0 +1,39 @@
+package org.drools.guvnor.server.util;
+
+import org.drools.guvnor.client.rpc.DiscussionRecord;
+import junit.framework.TestCase;
+
+/**
+ * @author Michael Neale
+ */
+public class DiscussionTest extends TestCase {
+
+    public void testPersist() throws InterruptedException {
+        DiscussionRecord dr = new DiscussionRecord();
+        dr.author = "mic";
+        dr.note = "hey hey";
+
+        DiscussionRecord dr2 = new DiscussionRecord();
+        dr2.author = "chloe";
+        dr2.note = "hey hey";
+
+        Thread.sleep(100);
+
+        Discussion d = new Discussion();
+        String xml = d.toString(new DiscussionRecord[] {dr, dr2});
+        System.err.println(xml);
+
+        DiscussionRecord[] res = d.fromString(xml);
+        assertEquals(2, res.length);
+
+        assertEquals("mic", res[0].author);
+
+        assertEquals(dr.timestamp, res[0].timestamp);
+        
+
+        assertNotNull(d.fromString(null));
+        assertNotNull(d.fromString(""));
+
+    }
+
+}




More information about the jboss-svn-commits mailing list