X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fpersistence%2FPersistentFactory.java;h=7dfb460bc60e244242e65dec0a46c9a77bb47698;hb=820c55dae3f92efe95ff8a3f4a9b5ea474f7d8d0;hp=91fd2b380095a66707aa578b7a0efb29dfb16059;hpb=3224184a04d96907e9a1d6b3e9c91925a3197e31;p=utils diff --git a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java index 91fd2b38..7dfb460b 100644 --- a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java +++ b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java @@ -64,10 +64,11 @@ public class PersistentFactory { @Override public T get(Object aEntity) { try { - return (T) field.get(aEntity); + T value = (T) field.get(aEntity); + return value; } catch (Exception e) { throw new RuntimeException(e); - } + } } @Override @@ -110,7 +111,7 @@ public class PersistentFactory { setter.invoke(aEntity, aValue); } catch (Exception e) { throw new RuntimeException(e); - } + } } public Method getGetter() { @@ -155,21 +156,33 @@ public class PersistentFactory { @Override public Serializable getPrimaryKey() { - return (Serializable)accessor.getPk().get(entity); + if (accessor == null || accessor.getPk() == null) { + return null; + } + return (Serializable) accessor.getPk().get(entity); } @Override public void setPrimaryKey(Serializable aKey) { + if (accessor == null || accessor.getPk() == null) { + return; + } accessor.getPk().set(entity, aKey); - } + } @Override public Number getPersistedVersion() { - return (Number)accessor.getVersion().get(entity); + if ( accessor == null || accessor.getVersion() == null) { + return null; + } + return (Number) accessor.getVersion().get(entity); } @Override public void setPersistedVersion(Number aVersion) { + if ( accessor == null || accessor.getVersion() == null) { + return; + } accessor.getVersion().set(entity, aVersion); } } @@ -232,7 +245,8 @@ public class PersistentFactory { } try { Class returnType = method.getReturnType(); - Method setter = method.getDeclaringClass().getDeclaredMethod(setterName, returnType); + Method setter = method.getDeclaringClass() + .getDeclaredMethod(setterName, returnType); return new PropertyAccessor(method, setter); } catch (NoSuchMethodException e) { throw new RuntimeException("Error obtaining setter for " + @@ -244,15 +258,17 @@ public class PersistentFactory { } /** - * Creates the {@link Persistent} wrapper for interfacing with primary key and - * version of the entity. - * @param aEntity Entity to use. - * @return Persistent object or null if this is not an entity. + * Creates the {@link Persistent} wrapper for interfacing with primary key + * and version of the entity. + * + * @param aEntity + * Entity to use. + * @return Persistent object or null if this is not an entity. */ - public static Persistent create(Object aEntity) { + public static Persistent create(Object aEntity) { EntityAccessor accessor = createEntityAccessor(aEntity.getClass()); - if ( accessor == null ) { - return null; + if (accessor == null) { + return null; } return new EntityObjectAccessor(aEntity, accessor); }