Changeset 762
- Timestamp:
- 06/26/07 15:39:02 (2 years ago)
- Files:
-
- trunk/plugins/org.jalcedo.client.examples.jpa/META-INF/MANIFEST.MF (modified) (1 diff)
- trunk/plugins/org.jalcedo.client.examples.jpa/src/org/jalcedo/client/examples/jpa/JpaItemComponentsFactory.java (modified) (2 diffs)
- trunk/plugins/org.jalcedo.client.examples.jpa/src/org/jalcedo/client/examples/jpa/models/JpaItemDataSource.java (deleted)
- trunk/plugins/org.jalcedo.client.examples.jpa/src/org/jalcedo/client/examples/models/ItemDataSource.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plugins/org.jalcedo.client.examples.jpa/META-INF/MANIFEST.MF
r757 r762 14 14 Eclipse-LazyStart: true 15 15 Export-Package: org.jalcedo.client.examples.jpa, 16 org.jalcedo.client.examples.jpa.models,17 16 org.jalcedo.client.examples.jpa.views 18 17 Bundle-ClassPath: ., trunk/plugins/org.jalcedo.client.examples.jpa/src/org/jalcedo/client/examples/jpa/JpaItemComponentsFactory.java
r757 r762 38 38 import org.jalcedo.client.events.ApplicationEventPublisher; 39 39 import org.jalcedo.client.events.DefaultEventPublisher; 40 import org.jalcedo.client.examples.controllers.ItemAddAction;41 import org.jalcedo.client.examples.controllers.ItemApplyAction;42 import org.jalcedo.client.examples.controllers.ItemFetchAction;43 import org.jalcedo.client.examples.controllers.ItemRemoveAction;44 import org.jalcedo.client.examples.jpa.models.JpaItemDataSource;45 import org.jalcedo.client.examples.views.ItemContentProvider;46 import org.jalcedo.client.examples.views.ItemDetailComposite;47 import org.jalcedo.client.examples.views.ItemListComposite;40 import /*=<%=addActionFQDN%>*/org.jalcedo.client.examples.controllers.ItemAddAction/*-*/; 41 import /*=<%=applyActionFQDN%>*/org.jalcedo.client.examples.controllers.ItemApplyAction/*-*/; 42 import /*=<%=fetchActionFQDN%>*/org.jalcedo.client.examples.controllers.ItemFetchAction/*-*/; 43 import /*=<%=removeActionFQDN%>*/org.jalcedo.client.examples.controllers.ItemRemoveAction/*-*/; 44 import /*=<%=dataSourceFQDN%>*/org.jalcedo.client.examples.models.ItemDataSource/*-*/; 45 import /*=<%=contentProviderFQDN%>*/org.jalcedo.client.examples.views.ItemContentProvider/*-*/; 46 import /*=<%=detailCompositeFQDN%>*/org.jalcedo.client.examples.views.ItemDetailComposite/*-*/; 47 import /*=<%=listCompositeFQDN%>*/org.jalcedo.client.examples.views.ItemListComposite/*-*/; 48 48 49 49 public class /*=<%=factoryName%>*/JpaItemComponentsFactory/*-*/ { … … 53 53 54 54 55 /*=<%=dataSourceName%>*/ JpaItemDataSource/*-*/ dataSource = new /*=<%=dataSourceName%>*/JpaItemDataSource()/*-*/;55 /*=<%=dataSourceName%>*/ItemDataSource/*-*/ dataSource = new /*=<%=dataSourceName%>*/ItemDataSource()/*-*/; 56 56 dataSource.setApplicationEventPublisher(applicationEventPublisher); 57 57 trunk/plugins/org.jalcedo.client.examples.jpa/src/org/jalcedo/client/examples/models/ItemDataSource.java
r719 r762 1 package org.jalcedo.client.examples.models; 1 /*=<%@ jet package="org.jalcedo.generator.client.internal.model.models" 2 class="DataSourceGenerator" 3 skeleton="skeleton/DataSourceGenerator.skeleton" %> 4 <% 5 JClass beanDataSource = generated; 6 String modelPackageName = beanDataSource.getPackageName(); 7 String dataSourceName = beanDataSource.getClassName(); 8 9 String beanPackageName = targetBean.getPackageName(); 10 String beanName = targetBean.getClassName(); 11 String beanProperty = targetBean.getIdField().getTypeName(); 12 String idGetterName = targetBean.getIdField().getGetterName(); 13 String idParser = targetBean.getIdField().getParser(); 14 String idType = targetBean.getIdField().getTypeName(); 15 16 String eventPackageName = beanEvent.getPackageName(); 17 String eventName = beanEvent.getClassName(); 18 %>*//*-*/ 19 package /*=<%=modelPackageName%>*/org.jalcedo.client.examples.models/*-*/; 2 20 3 21 import java.util.List; 4 22 23 import javax.persistence.EntityManager; 24 import javax.persistence.EntityManagerFactory; 25 import javax.persistence.EntityTransaction; 26 import javax.persistence.Persistence; 27 import javax.persistence.PersistenceUnit; 28 import javax.persistence.Query; 29 5 30 import org.jalcedo.client.ds.DataSource; 6 31 import org.jalcedo.client.events.ApplicationEventPublisher; 32 import /*=<%=eventPackageName%>*/org.jalcedo.client.examples.models/*-*/./*=<%=eventName%>*/ItemEvent/*-*/; 33 import /*=<%=beanPackageName%>*/org.jalcedo.client.examples.models/*-*/./*=<%=beanName%>*/Item/*-*/; 7 34 8 /** 9 * unused empty class. 10 * @author yuanying 11 * 12 */ 13 public class ItemDataSource implements DataSource<Integer, Item> { 35 public class /*=<%=dataSourceName%>*/ItemDataSource/*-*/ implements DataSource</*=<%=beanProperty%>*/Integer/*-*/, /*=<%=beanName%>*/Item/*-*/> { 36 37 private ApplicationEventPublisher applicationEventPublisher; 14 38 15 @SuppressWarnings("unused") 16 private ApplicationEventPublisher applicationEventPublisher; 17 18 public Item create(Item newObject) { 19 return null; 39 private /*=<%=beanProperty%>*/Integer/*-*/ nextId = /*=<%=idParser+"(\"1\")"%>*/Integer.valueOf("1")/*-*/; 40 41 //TODO 42 @PersistenceUnit 43 private EntityManagerFactory entityManagerFactory; 44 45 public /*=<%=dataSourceName%>*/ItemDataSource/*-*/() { 46 this.entityManagerFactory = Persistence.createEntityManagerFactory("testpu"); 47 48 // create test data. 49 /*=*/ 50 Item item1 = new Item(); 51 item1.setId(nextId++); 52 item1.setPrice(20); 53 item1.setName("testName"); 54 55 Item item2 = new Item(); 56 item2.setId(nextId++); 57 item2.setPrice(30); 58 item2.setName("testName"); 59 60 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 61 EntityTransaction transaction = entityManager.getTransaction(); 62 try { 63 transaction.begin(); 64 entityManager.persist(item1); 65 entityManager.persist(item2); 66 transaction.commit(); 67 } catch (Exception ex) { 68 try { 69 transaction.rollback(); 70 } catch (Exception e) {} 71 } 72 /*-*/ 73 } 74 75 public ApplicationEventPublisher getApplicationEventPublisher() { 76 return applicationEventPublisher; 20 77 } 21 78 22 public void setApplicationEventPublisher( 23 ApplicationEventPublisher applicationEventPublisher) { 79 public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { 24 80 this.applicationEventPublisher = applicationEventPublisher; 25 81 } 26 82 27 public void delete(Item detachedObject) { 83 /** 84 * 85 * @param comment 86 * @return 87 */ 88 @SuppressWarnings("unchecked") 89 public List</*=<%=beanName%>*/Item/*-*/> findList() { 90 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 91 Query query = entityManager.createQuery("SELECT e FROM "+/*=<%=beanName%>*/"Item"+/*-*/" e"); 92 return query.getResultList(); 93 } 94 95 public /*=<%=beanName%>*/Item/*-*/ find(/*=<%=beanProperty%>*/Integer/*-*/ key) { 96 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 97 return entityManager.find(/*=<%=beanName%>*/Item/*-*/.class, key); 28 98 } 29 99 30 public Item edit(Item detachedObject) { 31 return null; 100 public /*=<%=beanName%>*/Item/*-*/ create(/*=<%=beanName%>*/Item/*-*/ newObject) { 101 newObject./*=<%=idSetterName%>*/setId/*-*/(nextId); 102 /*=<% if ( !idType.equals("String") ) { %>*//*-*/ 103 nextId = nextId + 1; 104 /*=<% } else { %><%="nextId = String.valueOf(Integer.valueOf(nextId) + 1);" %><% }%>*//*-*/ 105 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 106 EntityTransaction transaction = entityManager.getTransaction(); 107 try { 108 transaction.begin(); 109 entityManager.persist(newObject); 110 transaction.commit(); 111 this.getApplicationEventPublisher().publishEvent(new /*=<%=eventName%>*/ItemEvent/*-*/(newObject, /*=<%=eventName%>*/ItemEvent/*-*/.ADDED)); 112 } catch (Exception ex) { 113 try { 114 transaction.rollback(); 115 } catch (Exception e) {} 116 } 117 return newObject; 32 118 } 33 119 34 public Item find(Integer key) { 35 return null; 36 } 37 38 public List<Item> findList() { 39 return null; 120 /** 121 * TODO if fail to merge, throw Exception. 122 * @param comment 123 * @return 124 */ 125 public /*=<%=beanName%>*/Item/*-*/ edit(/*=<%=beanName%>*/Item/*-*/ transientObject) { 126 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 127 EntityTransaction transaction = entityManager.getTransaction(); 128 try { 129 transaction.begin(); 130 transientObject = entityManager.merge(transientObject); 131 transaction.commit(); 132 this.getApplicationEventPublisher().publishEvent(new /*=<%=eventName%>*/ItemEvent/*-*/(transientObject, /*=<%=eventName%>*/ItemEvent/*-*/.MODIFIED)); 133 } catch (Exception ex) { 134 try { 135 transaction.rollback(); 136 } catch (Exception e) {} 137 } 138 return transientObject; 40 139 } 41 140 141 public void delete(/*=<%=beanName%>*/Item/*-*/ persistentObject) { 142 EntityManager entityManager = this.entityManagerFactory.createEntityManager(); 143 EntityTransaction transaction = entityManager.getTransaction(); 144 try { 145 transaction.begin(); 146 persistentObject = entityManager.merge(persistentObject); 147 entityManager.remove(persistentObject); 148 transaction.commit(); 149 this.getApplicationEventPublisher().publishEvent(new /*=<%=eventName%>*/ItemEvent/*-*/(persistentObject, /*=<%=eventName%>*/ItemEvent/*-*/.DELETED)); 150 } catch (Exception ex) { 151 try { 152 transaction.rollback(); 153 } catch (Exception e) {} 154 } 155 } 42 156 }
