1 24 package org.objectweb.jalisto.test.core.suite; 25 26 import junit.framework.Test; 27 import org.objectweb.jalisto.se.JalistoFactory; 28 import org.objectweb.jalisto.se.api.Session; 29 import org.objectweb.jalisto.se.api.JalistoProperties; 30 import org.objectweb.jalisto.se.test.data.Author; 31 import org.objectweb.jalisto.se.test.data.Book; 32 import org.objectweb.jalisto.se.test.workbench.JalistoTestCase; 33 import org.objectweb.jalisto.se.test.workbench.JalistoTestSuite; 34 35 public class InitStoreTestCase extends JalistoTestCase { 36 public InitStoreTestCase() { 37 } 38 39 public InitStoreTestCase(String name) { 40 super(name); 41 } 42 43 public static Test suite() { 44 JalistoTestSuite suite = new JalistoTestSuite(); 45 InitStoreTestCase tc = (InitStoreTestCase) newTestCase(suite, new InitStoreTestCase()); 46 47 tc.define(); 48 49 tc.printSessionProperties(); 50 51 tc.sameSession(); 52 tc.twoSessionsWithDifferentUserMode(); 53 54 tc.finishTests(); 55 56 return suite; 57 } 58 59 public void printSessionProperties() { 60 if (session.getInternalSession().isRemoteSession()) { 61 out("IS REMOTE SESSION"); 62 return; 63 } 64 JalistoProperties props = session.getInternalSession().getProperties(); 65 if (props.isMonoImplementation()) { 66 out("USE MONO SESSION"); 67 } else { 68 out("USE MULTI SESSION"); 69 } 70 71 } 72 73 public void sameSession() { 74 if (session.getInternalSession().isRemoteSession()) { 75 out("can't execute this test with remote client"); 76 return; 77 } 78 String path = getJalistoPropertiesFilename(); 79 JalistoProperties jalistoProps = JalistoFactory.getInternalFactory().getProperties(path); 80 if (jalistoProps.isMonoImplementation()) { 81 Session session1 = JalistoFactory.getSession(path); 82 Session session2 = JalistoFactory.getSession(path); 83 assertTrue("sessions must be equals in mono mode", session1 == session2); 84 } 85 } 86 87 public void twoSessionsWithDifferentUserMode() { 88 if (session.getInternalSession().isRemoteSession()) { 89 out("can't execute this test with remote client"); 90 return; 91 } 92 String path; 93 if (session.getInternalSession().getProperties().isMonoImplementation()) { 94 path = "jalisto-multi.properties"; 95 } else { 96 path = "jalisto-mono.properties"; 97 } 98 Session parallelSession = JalistoFactory.getSession(path); 99 try { 100 parallelSession.openSession(); 101 parallelSession.currentTransaction().begin(); 102 parallelSession.currentTransaction().commit(); 103 } finally { 104 if (parallelSession != null) { 105 if (parallelSession.currentTransaction().isActive()) { 106 parallelSession.currentTransaction().commit(); 107 } 108 if (parallelSession.isOpen()) { 109 parallelSession.closeSession(); 110 } 111 } 112 } 113 } 114 115 private static void out(Object message) { 116 String s = "--> " + String.valueOf(message); 117 System.out.println(s); 118 } 119 120 123 124 public void define() { 125 super.initSession(false); 126 if (!session.getInternalSession().isRemoteSession()) { 127 super.define(Author.getMetaDescription()); 128 super.define(Book.getMetaDescription()); 129 } 130 } 131 132 public void finishTests() { 133 super.finishTests(); 134 } 135 } 136 | Popular Tags |