Author: jcouteau Date: 2011-01-03 17:01:30 +0100 (Mon, 03 Jan 2011) New Revision: 676 Url: http://nuiton.org/repositories/revision/wikitty/676 Log: Allow to transform from to dto to wikitty something that have not been stored in database previously Modified: trunk/wikitty-dto/src/main/java/org/nuiton/wikitty/dto/DTOHelper.java trunk/wikitty-dto/src/test/java/org/nuiton/wikitty/dto/WikittyDTOTest.java Modified: trunk/wikitty-dto/src/main/java/org/nuiton/wikitty/dto/DTOHelper.java =================================================================== --- trunk/wikitty-dto/src/main/java/org/nuiton/wikitty/dto/DTOHelper.java 2011-01-03 14:05:10 UTC (rev 675) +++ trunk/wikitty-dto/src/main/java/org/nuiton/wikitty/dto/DTOHelper.java 2011-01-03 16:01:30 UTC (rev 676) @@ -28,7 +28,10 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.util.ObjectUtil; import org.nuiton.wikitty.WikittyProxy; +import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.entities.BusinessEntity; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyImpl; /** * User: couteau @@ -59,7 +62,22 @@ public static <E extends BusinessEntity> E fromDto(WikittyProxy proxy, Class<E> clazz, E dto) { E result = proxy.restore(clazz, dto.getWikittyId()); - result.copyFrom(dto); + + if (result == null){ + try { + String wikittyId = dto.getWikittyId(); + Wikitty wikitty = new WikittyImpl(wikittyId); + result = WikittyUtil.newInstance( proxy.getSecurityToken(), + proxy.getWikittyService(), clazz, wikitty); + } catch (Exception eee) { + log.error("Could not transform DTO to Wikitty", eee); + } + } + + if (result != null) { + result.copyFrom(dto); + } + return result; } Modified: trunk/wikitty-dto/src/test/java/org/nuiton/wikitty/dto/WikittyDTOTest.java =================================================================== --- trunk/wikitty-dto/src/test/java/org/nuiton/wikitty/dto/WikittyDTOTest.java 2011-01-03 14:05:10 UTC (rev 675) +++ trunk/wikitty-dto/src/test/java/org/nuiton/wikitty/dto/WikittyDTOTest.java 2011-01-03 16:01:30 UTC (rev 676) @@ -60,9 +60,6 @@ WikittyLabel label = new WikittyLabelImpl(); label.addLabels("Test"); - //store entity - label = proxy.store(label); - //make conversion WikittyLabel dto = DTOHelper.toDto(label);