Changeset 3978
- Timestamp:
- 07/10/08 08:13:07 (3 years ago)
- Files:
-
- trunk/build.properties (modified) (1 diff)
- trunk/ivy.xml (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/EntityFinder.java (modified) (2 diffs)
- trunk/src/main/java/org/sarugo/restlet/jpa/EntityHelper.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/EntityRouter.java (modified) (8 diffs)
- trunk/src/main/java/org/sarugo/restlet/jpa/TransactionFilter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/converter/Converter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/converter/FormConverter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/converter/JSONConverter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/converter/StringConverter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/converter/XTCConverter.java (modified) (1 diff)
- trunk/src/main/java/org/sarugo/restlet/jpa/resource/EntityInstance.java (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build.properties
r3880 r3978 1 1 project.name=restlet-jpa 2 project.rev=0. 42 project.rev=0.5 3 3 project.status=release trunk/ivy.xml
r3880 r3978 16 16 <dependencies> 17 17 <!-- Restlet --> 18 <dependency org="org.restlet" name="org.restlet" rev="1.1- M2" conf="default"/>19 <dependency org="com.noelios.restlet" name="com.noelios.restlet.ext.simple" rev="1.1- M2" conf="test->default"/>20 <dependency org="com.noelios.restlet" name="com.noelios.restlet.ext.net" rev="1.1- M2" conf="test->default"/>18 <dependency org="org.restlet" name="org.restlet" rev="1.1-RC1" conf="default"/> 19 <dependency org="com.noelios.restlet" name="com.noelios.restlet.ext.simple" rev="1.1-RC1" conf="test->default"/> 20 <dependency org="com.noelios.restlet" name="com.noelios.restlet.ext.net" rev="1.1-RC1" conf="test->default"/> 21 21 <!-- JSON --> 22 22 <dependency org="com.sdicons.jsontools" name="jsontools-core" rev="1.5" conf="json->default"/> 23 23 <!-- XTC --> 24 <dependency org="sarugo" name="xtc" rev="0. 4.4" conf="xtc->restlet"/>24 <dependency org="sarugo" name="xtc" rev="0.5" conf="xtc->restlet"/> 25 25 <!-- JPA --> 26 26 <dependency org="javax.persistence" name="persistence-api" rev="1.0" conf="default"/> trunk/src/main/java/org/sarugo/restlet/jpa/EntityFinder.java
r3691 r3978 77 77 * The entity instance resource. 78 78 */ 79 @SuppressWarnings("unchecked")80 79 public EntityFinder(PersistenceApplication app, 81 80 Class<? extends Resource> resource) { … … 165 164 166 165 @Override 167 protectedHandler createTarget(Class<? extends Handler> targetClass,166 public Handler createTarget(Class<? extends Handler> targetClass, 168 167 Request request, Response response) { 169 168 Handler handler = null; trunk/src/main/java/org/sarugo/restlet/jpa/EntityHelper.java
r3677 r3978 72 72 * @return The type of the id field or method. 73 73 */ 74 public static Class<? extends Object> findIdType(Class entityClass) {74 public static Class<? extends Object> findIdType(Class<?> entityClass) { 75 75 Class<? extends Object> type = null; 76 76 for (Field f : entityClass.getDeclaredFields()) { trunk/src/main/java/org/sarugo/restlet/jpa/EntityRouter.java
r3691 r3978 69 69 private final EntityRouter parent; 70 70 71 private final Map<Class , EntityRoute> entities;71 private final Map<Class<?>, EntityRoute> entities; 72 72 73 73 private final List<EntityRouter> children; … … 92 92 this.application = application; 93 93 this.parent = null; 94 this.entities = new HashMap<Class , EntityRoute>();94 this.entities = new HashMap<Class<?>, EntityRoute>(); 95 95 this.children = new ArrayList<EntityRouter>(); 96 96 this.baseRef = null; … … 101 101 this.application = parent.application; 102 102 this.parent = parent; 103 this.entities = new HashMap<Class , EntityRoute>();103 this.entities = new HashMap<Class<?>, EntityRoute>(); 104 104 this.children = new ArrayList<EntityRouter>(); 105 105 this.baseRef = null; … … 110 110 this.application = parent.application; 111 111 this.parent = parent; 112 this.entities = new HashMap<Class , EntityRoute>();112 this.entities = new HashMap<Class<?>, EntityRoute>(); 113 113 this.children = new ArrayList<EntityRouter>(); 114 114 this.baseRef = null; … … 122 122 if (route != null) { 123 123 // this router holds the entity finder 124 @SuppressWarnings("unchecked")125 124 Map<String, Object> attributes = route.getFinder() 126 125 .getIdAttributes(entity); … … 139 138 parentUrl = template.format(attributes); 140 139 } 141 @SuppressWarnings("unchecked")142 140 Object parentEntity = route.getFinder().getParentEntity( 143 141 entity); … … 268 266 } 269 267 270 @SuppressWarnings("unchecked")271 268 @Override 272 269 public Route attach(String uriPattern, Class<? extends Resource> targetClass) { … … 312 309 } 313 310 314 @SuppressWarnings("unchecked")315 311 @Override 316 312 public final Route attachDefault( trunk/src/main/java/org/sarugo/restlet/jpa/TransactionFilter.java
r3666 r3978 25 25 public class TransactionFilter extends Filter { 26 26 27 public TransactionFilter() {28 super();29 }27 public TransactionFilter() { 28 super(); 29 } 30 30 31 public TransactionFilter(Context context) {32 super(context);33 }31 public TransactionFilter(Context context) { 32 super(context); 33 } 34 34 35 public TransactionFilter(Context context, Restlet next) {36 super(context, next);37 }35 public TransactionFilter(Context context, Restlet next) { 36 super(context, next); 37 } 38 38 39 public TransactionFilter(EntityRouter router) {40 super(router.getContext(), router);41 }39 public TransactionFilter(EntityRouter router) { 40 super(router.getContext(), router); 41 } 42 42 43 @Override44 public int doHandle(Request request, Response response) {45 int result = CONTINUE;46 PersistenceApplication app = (PersistenceApplication) request 47 .getAttributes().get(Application.KEY);48 EntityTransaction t = app.getEntityManager().getTransaction();49 t.begin();50 try {51 result = super.doHandle(request, response);52 if (t.isActive() && !t.getRollbackOnly()) {53 app.getEntityManager().flush();54 t.commit();55 }56 } catch (RuntimeException e) {57 getLogger().log(Level.SEVERE,58 "Unhandled exception caught, rolling back transaction.", e);59 response.setStatus(Status.SERVER_ERROR_INTERNAL);60 } finally {61 if (t.isActive()) {62 t.rollback();63 }64 app.clearEntityManager();65 }66 return result;67 }43 @Override 44 public int doHandle(Request request, Response response) { 45 int result = CONTINUE; 46 PersistenceApplication app = (PersistenceApplication) Application 47 .getCurrent(); 48 EntityTransaction t = app.getEntityManager().getTransaction(); 49 t.begin(); 50 try { 51 result = super.doHandle(request, response); 52 if (t.isActive() && !t.getRollbackOnly()) { 53 app.getEntityManager().flush(); 54 t.commit(); 55 } 56 } catch (RuntimeException e) { 57 getLogger().log(Level.SEVERE, 58 "Unhandled exception caught, rolling back transaction.", e); 59 response.setStatus(Status.SERVER_ERROR_INTERNAL); 60 } finally { 61 if (t.isActive()) { 62 t.rollback(); 63 } 64 app.clearEntityManager(); 65 } 66 return result; 67 } 68 68 69 69 } trunk/src/main/java/org/sarugo/restlet/jpa/converter/Converter.java
r3700 r3978 47 47 if (type.isEnum()) { 48 48 for (T constant : type.getEnumConstants()) { 49 if (((Enum ) constant).name().equals(value)) {49 if (((Enum<?>) constant).name().equals(value)) { 50 50 return constant; 51 51 } trunk/src/main/java/org/sarugo/restlet/jpa/converter/FormConverter.java
r3700 r3978 95 95 Representation representation = null; 96 96 if (resource instanceof EntityInstance) { 97 representation = represent(((EntityInstance ) resource).getEntity());97 representation = represent(((EntityInstance<?>) resource).getEntity()); 98 98 } 99 99 return representation; trunk/src/main/java/org/sarugo/restlet/jpa/converter/JSONConverter.java
r3691 r3978 87 87 Representation representation = null; 88 88 if (resource instanceof EntityInstance) { 89 representation = represent(((EntityInstance ) resource).getEntity());89 representation = represent(((EntityInstance<?>) resource).getEntity()); 90 90 } 91 91 return representation; trunk/src/main/java/org/sarugo/restlet/jpa/converter/StringConverter.java
r3691 r3978 41 41 Representation representation = null; 42 42 if (resource instanceof EntityInstance) { 43 representation = represent(((EntityInstance ) resource).getEntity());43 representation = represent(((EntityInstance<?>) resource).getEntity()); 44 44 } 45 45 return representation; trunk/src/main/java/org/sarugo/restlet/jpa/converter/XTCConverter.java
r3691 r3978 39 39 representation.setVariable("resource", resource); 40 40 if (resource instanceof EntityInstance) { 41 representation.setVariable("entity", ((EntityInstance ) resource)41 representation.setVariable("entity", ((EntityInstance<?>) resource) 42 42 .getEntity()); 43 43 } trunk/src/main/java/org/sarugo/restlet/jpa/resource/EntityInstance.java
r3691 r3978 71 71 * {@link #initEntity(Request, Response)}. 72 72 */ 73 @SuppressWarnings("unchecked")74 73 public void init(Context context, Request request, Response response) { 75 74 super.init(context, request, response); … … 118 117 * @return The identity object. 119 118 */ 120 @SuppressWarnings("unchecked")121 119 protected Object getId(Map<String, Object> attributes) { 122 120 Object id = null; … … 133 131 public PersistenceApplication getApplication() { 134 132 return (PersistenceApplication) super.getApplication(); 133 } 134 135 public String getEntityURL() { 136 return getApplication().getEntityURL(entity); 135 137 } 136 138 … … 208 210 } 209 211 } 210 // TODO commit?211 212 if (!stored) { 212 213 throw new ResourceException( … … 222 223 getEntityManager().remove(getEntity()); 223 224 getEntityManager().flush(); 224 // TODO commit?225 225 } 226 226
