r493 - in trunk/wikitty-api/src: main/java/org/nuiton/wikitty main/java/org/nuiton/wikitty/entities main/java/org/nuiton/wikitty/services test/java/org/nuiton/wikitty/addons test/java/org/nuiton/wikitty/api test/java/org/nuiton/wikitty/services
Author: jcouteau Date: 2010-11-22 17:57:54 +0100 (Mon, 22 Nov 2010) New Revision: 493 Url: http://nuiton.org/repositories/revision/wikitty/493 Log: Remove getWikitty() method from BusinessEntity, add a method that does it in WikittyUtil Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntity.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittySecurityHelper.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/services/WikittyServiceTransactionTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-11-22 16:57:54 UTC (rev 493) @@ -25,6 +25,8 @@ package org.nuiton.wikitty; +import java.util.ArrayList; +import org.apache.commons.beanutils.BeanUtils; import org.nuiton.wikitty.entities.BusinessEntity; import org.nuiton.wikitty.entities.WikittyExtension; import org.nuiton.wikitty.entities.Wikitty; @@ -928,4 +930,27 @@ return result; } + static public Wikitty getWikitty(WikittyService service, + String securityToken, + BusinessEntity entity) { + + Wikitty result = null; + + if (entity instanceof BusinessEntityImpl) { + result = ((BusinessEntityImpl) entity).getWikitty(); + } else { + String id = entity.getWikittyId(); + + result = WikittyServiceEnhanced.restore(service, securityToken, id); + + try { + BeanUtils.copyProperties(result, entity); + } catch (Exception eee) { + throw new WikittyException("Could not transform entity to Wikitty", eee); + } + } + + return result; + } + } Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntity.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntity.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntity.java 2010-11-22 16:57:54 UTC (rev 493) @@ -55,14 +55,6 @@ public String getWikittyVersion(); /** - * Return wikitty - * - * @return the wikitty actually storing the entity's data - * @since 2.2.1 - */ - public Wikitty getWikitty(); - - /** * Only framework can use this method. * * @param version version to set @@ -111,7 +103,7 @@ * @param fieldName field name * @return feild type */ - public FieldType getFieldType(String ext, String fieldName); + //public FieldType getFieldType(String ext, String fieldName); /** * Add {@link PropertyChangeListener}. Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java 2010-11-22 16:57:54 UTC (rev 493) @@ -94,10 +94,6 @@ this.wikitty = wikitty; } - /** - * @see BusinessEntity#getWikitty() - */ - @Override public Wikitty getWikitty() { return wikitty; } @@ -114,7 +110,7 @@ return result; } - @Override + //@Override public FieldType getFieldType(String ext, String fieldName) { FieldType result = getWikitty().getExtension(ext).getFieldType(fieldName); return result; Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittySecurityHelper.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittySecurityHelper.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittySecurityHelper.java 2010-11-22 16:57:54 UTC (rev 493) @@ -26,8 +26,13 @@ package org.nuiton.wikitty.services; +import java.util.ArrayList; +import java.util.List; +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.entities.BusinessEntity; import org.nuiton.wikitty.entities.Wikitty; import org.nuiton.wikitty.entities.WikittyAuthorisation; import org.nuiton.wikitty.entities.WikittyAuthorisationHelper; @@ -59,7 +64,6 @@ /** * get the id of a user given his login. * - * @param securityToken a token * @param login the login of the user to search for * @return a wikitty id */ @@ -111,6 +115,7 @@ Wikitty result = proxy.restore(wikittyAuthorisationId); return result; } + // /** // * @param securityToken token with rights to modify extension Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-11-22 16:57:54 UTC (rev 493) @@ -544,7 +544,8 @@ protected void checkRestoreTreeNode(String securityToken, String userId, WikittyTreeNode treeNode) { - refuseUnauthorizedRead(securityToken, userId, treeNode.getWikitty()); + Wikitty treeNodeWikitty = WikittyUtil.getWikitty(ws, securityToken, treeNode); + refuseUnauthorizedRead(securityToken, userId, treeNodeWikitty); } @Override @@ -570,7 +571,9 @@ @Override public WikittyEvent deleteTree(String securityToken, String treeNodeId) { WikittyTreeNode treeNode = ws.restoreNode(securityToken, treeNodeId, null).getKey(); - Collection<Wikitty> wikitties = Arrays.asList(treeNode.getWikitty()); + Wikitty treeNodeWikitty = WikittyUtil.getWikitty(ws, securityToken, treeNode); + + Collection<Wikitty> wikitties = Arrays.asList(treeNodeWikitty); checkStore(securityToken, wikitties); return ws.deleteTree(securityToken, treeNodeId); } Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2010-11-22 16:57:54 UTC (rev 493) @@ -25,6 +25,8 @@ package org.nuiton.wikitty.addons; +import org.nuiton.wikitty.WikittyUtil; +import org.nuiton.wikitty.entities.Wikitty; import org.nuiton.wikitty.entities.WikittyExtension; import org.nuiton.wikitty.addons.WikittyI18nUtil; import org.nuiton.wikitty.addons.WikittyI18nImpl; @@ -62,8 +64,9 @@ // creation d'un label pour l'utiliser pour l'i18n WikittyLabel label = new WikittyLabelImpl(); + Wikitty labelWikitty = WikittyUtil.getWikitty(ws,null,label); WikittyExtension ext = - label.getWikitty().getExtension(WikittyLabel.EXT_WIKITTYLABEL); + labelWikitty.getExtension(WikittyLabel.EXT_WIKITTYLABEL); // recuperation de support i18n pour l'extension WikittyLabel WikittyI18n i18n = WikittyI18nUtil.getI18n(proxy, ext); Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java 2010-11-22 16:57:54 UTC (rev 493) @@ -27,6 +27,7 @@ import java.math.BigDecimal; import java.text.ParseException; +import java.util.Collections; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; @@ -35,10 +36,15 @@ import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Test; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.wikitty.WikittyService; import org.nuiton.wikitty.entities.FieldType; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyLabel; import org.nuiton.wikitty.entities.WikittyLabelImpl; import org.nuiton.wikitty.entities.WikittyExtension; import org.nuiton.wikitty.WikittyUtil; +import org.nuiton.wikitty.services.WikittyServiceInMemory; /** * @@ -489,4 +495,18 @@ Date date2 = WikittyUtil.parseDate(date); Assert.assertNotNull(date2); } + + @Test + public void testGetWikitty() throws Exception { + + WikittyLabel label = new WikittyLabelImpl(); + label.addLabels("Test"); + + String wikittyId = label.getWikittyId(); + + Wikitty labelWikitty = WikittyUtil.getWikitty(null,null,label); + + Assert.assertEquals(wikittyId, labelWikitty.getId()); + Assert.assertEquals(Collections.singleton("Test"),labelWikitty.getFieldAsObject(WikittyLabel.EXT_WIKITTYLABEL,WikittyLabel.FIELD_WIKITTYLABEL_LABELS)); + } } Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/services/WikittyServiceTransactionTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/services/WikittyServiceTransactionTest.java 2010-11-22 11:43:11 UTC (rev 492) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/services/WikittyServiceTransactionTest.java 2010-11-22 16:57:54 UTC (rev 493) @@ -24,6 +24,7 @@ */ package org.nuiton.wikitty.services; +import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.entities.Wikitty; import java.util.Collections; import org.apache.commons.logging.Log; @@ -62,25 +63,34 @@ // ajout d'objet hors transaction WikittyLabel label = new WikittyLabelImpl(); label.addLabels("coucou"); - ws.store(null, Collections.singleton(label.getWikitty()), false); + Wikitty labelWikitty = WikittyUtil.getWikitty(ws,null,label); + + ws.store(null, Collections.singleton(labelWikitty), false); + // on doit le retrouver dans la transation (meme si elle a ete ouverte avant) Wikitty wTx = WikittyServiceEnhanced.restore(tx, null, label.getWikittyId()); - Assert.assertEquals(label.getWikitty(), wTx); + Assert.assertEquals(labelWikitty, wTx); // on creer un objet dans la transaction WikittyLabel labelTx = new WikittyLabelImpl(); labelTx.addLabels("coucouTx"); - tx.store(null, Collections.singleton(labelTx.getWikitty()), false); + Wikitty labelWikittyTx = WikittyUtil.getWikitty(tx, null, labelTx); + Assert.assertNotNull(labelWikittyTx); + tx.store(null, Collections.singleton(labelWikittyTx), false); + //we have to find it in the transaction + Wikitty w = WikittyServiceEnhanced.restore(tx, null, labelTx.getWikittyId()); + Assert.assertEquals(labelWikittyTx, w); + // on ne doit pas le retrouver hors de la transation - Wikitty w = WikittyServiceEnhanced.restore(ws, null, labelTx.getWikittyId()); + w = WikittyServiceEnhanced.restore(ws, null, labelTx.getWikittyId()); Assert.assertEquals(null, w); // on commit, du coup on doit retrouver l'objet tx.commit(null); w = WikittyServiceEnhanced.restore(ws, null, labelTx.getWikittyId()); - Assert.assertEquals(labelTx.getWikitty(), w); + Assert.assertEquals(labelWikittyTx, w); }
participants (1)
-
jcouteau@users.nuiton.org