1 4 package com.tctest.spring; 5 6 import org.springframework.context.ApplicationContext; 7 import org.springframework.context.support.ClassPathXmlApplicationContext; 8 import org.springframework.transaction.TransactionStatus; 9 import org.springframework.transaction.support.AbstractPlatformTransactionManager; 10 import org.springframework.transaction.support.DefaultTransactionDefinition; 11 12 import com.tc.object.config.ConfigLockLevel; 13 import com.tc.object.config.ConfigVisitor; 14 import com.tc.object.config.DSOClientConfigHelper; 15 import com.tc.simulator.app.ApplicationConfig; 16 import com.tc.simulator.listener.ListenerProvider; 17 import com.tctest.TransparentTestBase; 18 import com.tctest.runner.AbstractTransparentApp; 19 import com.tcspring.beans.orm.data.CustomerDao; 20 import com.tcspring.beans.orm.domain.Customer; 21 24 import java.util.ArrayList ; 25 import java.util.HashSet ; 26 import java.util.Iterator ; 27 import java.util.List ; 28 29 public class Hibernate_Test extends TransparentTestBase { 30 private static final int LOOP_ITERATIONS = 1; 31 private static final int EXECUTION_COUNT = 1; 32 private static final int NODE_COUNT = 1; 33 34 public Hibernate_Test() { 35 disableAllUntil("2008-01-01"); 36 } 37 38 protected void setUp() throws Exception { 39 super.setUp(); 40 getTransparentAppConfig().setClientCount(NODE_COUNT); 41 initializeTestRunner(); 42 } 43 44 protected Class getApplicationClass() { 45 return Hibernate_TestApp.class; 46 } 47 48 public static class Hibernate_TestApp extends AbstractTransparentApp { 49 50 private ApplicationContext context; 51 52 private List shared = new ArrayList (); 53 54 public Hibernate_TestApp(String appId, ApplicationConfig cfg, ListenerProvider listenerProvider) { 55 super(appId, cfg, listenerProvider); 56 } 57 58 public void run() { 59 context = new ClassPathXmlApplicationContext("com/tctest/spring/hibernate-test-application-context.xml"); 60 CustomerDao customerDao = (CustomerDao) context.getBean("customerDao"); 61 assertNotNull(customerDao); 62 AbstractPlatformTransactionManager txMgr = (AbstractPlatformTransactionManager)context.getBean("transactionManager"); 63 TransactionStatus status = txMgr.getTransaction(new DefaultTransactionDefinition()); 64 65 68 List customers = customerDao.getAll(); 69 for (Iterator i = customers.iterator(); i.hasNext();) { 70 Customer customer = (Customer) i.next(); 71 assertNotNull(customer); 72 } 73 74 customers = customerDao.getAllWithOnlyOnePermission(); 75 for (Iterator i = customers.iterator(); i.hasNext();) { 76 Customer customer = (Customer) i.next(); 77 assertNotNull(customer); 78 } 79 80 Customer customer = new Customer(); 81 customer.setFirstName("Jack"); 82 customer.setLastName("Schitt"); 83 customer.setPermissions(new HashSet ()); 84 customer.setAddresses(new HashSet ()); 85 86 customerDao.save(customer); 87 88 txMgr.commit(status); 89 90 } 118 119 protected Class getApplicationClass() { 120 return Hibernate_TestApp.class; 121 } 122 123 public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) { 124 String name = Hibernate_TestApp.class.getName(); 125 config.addRoot(name, "shared", "shared", false); 126 config.addAutolock("* " + name + ".run()", ConfigLockLevel.WRITE); 127 config.addIncludePattern("com.tcspring.beans.orm.hibernate..*", false, false, false); 128 config.addIncludePattern(TransparentTestBase.class.getName()); 129 config.addIncludePattern(Hibernate_TestApp.class.getName()); 130 131 } 135 } 136 } 137 | Popular Tags |