1 9 package org.jboss.portal.test.core.tree; 10 11 import junit.framework.TestCase; 12 import org.jboss.portal.common.tree.Tree; 13 import org.jboss.portal.common.tree.Session; 14 import org.jboss.portal.common.tree.Node; 15 import org.jboss.portal.core.impl.tree.TreeImpl; 16 import org.apache.log4j.Level; 17 import org.apache.log4j.Logger; 18 import org.apache.log4j.SimpleLayout; 19 import org.apache.log4j.ConsoleAppender; 20 import org.apache.log4j.Appender; 21 22 import java.util.HashMap ; 23 import java.util.Arrays ; 24 25 29 public class ReplicatedTestCase extends TestCase 30 { 31 32 static 33 { 34 } 38 39 private final Logger log = Logger.getLogger(ReplicatedTestCase.class); 40 41 public ReplicatedTestCase(String s) 42 { 43 super(s); 44 } 45 46 private Tree model1; 47 private Tree model2; 48 49 protected void setUp() throws Exception 50 { 51 52 TreeImpl jbcm1 = new TreeImpl(); 53 54 jbcm1.setCacheConfiguration("cache/replicated.xml"); 55 jbcm1.create(); 56 jbcm1.start(); 57 model1 = jbcm1; 58 59 TreeImpl jbcm2 = new TreeImpl(); 60 jbcm2.setCacheConfiguration("cache/replicated.xml"); 61 jbcm2.create(); 62 jbcm2.start(); 63 model2 = jbcm2; 64 65 while (jbcm1.getCache().getMembers().size() != 2) 67 { 68 log.info("Waiting until all nodes are here"); 69 Thread.sleep(100); 70 } 71 } 72 73 protected void tearDown() throws Exception 74 { 75 TreeImpl jbcm1 = (TreeImpl)model1; 76 jbcm1.stop(); 77 jbcm1.destroy(); 78 79 TreeImpl jbcm2 = (TreeImpl)model2; 80 jbcm2.stop(); 81 jbcm2.destroy(); 82 } 83 84 public void testAddChildCommit() throws Exception 85 { 86 ChangeLog changeLog = new ChangeLog(); 88 model2.addNodeChangeListener(changeLog); 89 90 Session session = model1.getSession(); 92 Node root = model1.getRoot(); 93 Node child = session.addChild(root, "blah", new HashMap ()); 94 session.commit(); 95 96 synchronized(changeLog) 97 { 98 while (changeLog.getChanges().size() < 1) 100 { 101 changeLog.wait(10000); 102 } 103 } 104 105 assertNotNull(model1.getRoot().getChild("blah")); 107 assertNotNull(model2.getRoot().getChild("blah")); 108 assertEquals(Arrays.asList(new Object []{Change.createChildAdded(root.getID(), child.getName())}), changeLog.getChanges()); 109 } 110 } 111 | Popular Tags |