[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