1 24 package org.riotfamily.riot.list.support; 25 26 import java.util.Collection ; 27 import java.util.Iterator ; 28 import java.util.List ; 29 30 import org.riotfamily.riot.dao.RiotDao; 31 import org.springframework.beans.factory.InitializingBean; 32 import org.springframework.transaction.PlatformTransactionManager; 33 import org.springframework.transaction.TransactionStatus; 34 import org.springframework.transaction.support.TransactionCallbackWithoutResult; 35 import org.springframework.transaction.support.TransactionTemplate; 36 37 public class ListSetupBean implements InitializingBean { 38 39 private RiotDao dao; 40 41 private List items; 42 43 private PlatformTransactionManager transactionManager; 44 45 public void setItems(List items) { 46 this.items = items; 47 } 48 49 public void setDao(RiotDao listModel) { 50 this.dao = listModel; 51 } 52 53 public void setTransactionManager(PlatformTransactionManager tm) { 54 this.transactionManager = tm; 55 } 56 57 public void afterPropertiesSet() throws Exception { 58 ListParamsImpl params = new ListParamsImpl(); 59 Collection c = dao.list(null, params); 60 if (c.isEmpty()) { 61 new TransactionTemplate(transactionManager).execute(new TransactionCallbackWithoutResult() { 62 protected void doInTransactionWithoutResult(TransactionStatus ts) { 63 saveItems(); 64 } 65 }); 66 } 67 } 68 69 protected void saveItems() { 70 Iterator it = items.iterator(); 71 while (it.hasNext()) { 72 Object item = it.next(); 73 dao.save(item, null); 74 } 75 } 76 77 } 78 | Popular Tags |