r1314 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities
Author: echatellier Date: 2012-01-12 11:43:48 +0100 (Thu, 12 Jan 2012) New Revision: 1314 Url: http://nuiton.org/repositories/revision/wikitty/1314 Log: #1895: WikittyCopyOnWrite#addExtension method allways invalidate cache Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyCopyOnWrite.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyImpl.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2012-01-12 10:43:28 UTC (rev 1313) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2012-01-12 10:43:48 UTC (rev 1314) @@ -133,7 +133,7 @@ * * @param exts extensions to add */ - void addExtension(List<WikittyExtension> exts); + void addExtension(Collection<WikittyExtension> exts); /** * Check that the wikitty has a metaExtension about a given extension. Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyCopyOnWrite.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyCopyOnWrite.java 2012-01-12 10:43:28 UTC (rev 1313) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyCopyOnWrite.java 2012-01-12 10:43:48 UTC (rev 1314) @@ -186,14 +186,18 @@ @Override public void addExtension(WikittyExtension ext) { - substituteTargetWithCopy(); - target.addExtension(ext); + if (!target.getExtensions().contains(ext)) { + substituteTargetWithCopy(); + target.addExtension(ext); + } } @Override - public void addExtension(List<WikittyExtension> exts) { - substituteTargetWithCopy(); - target.addExtension(exts); + public void addExtension(Collection<WikittyExtension> exts) { + if (!target.getExtensions().containsAll(exts)) { + substituteTargetWithCopy(); + target.addExtension(exts); + } } @Override Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyImpl.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyImpl.java 2012-01-12 10:43:28 UTC (rev 1313) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyImpl.java 2012-01-12 10:43:48 UTC (rev 1314) @@ -354,10 +354,10 @@ } /* - * @see org.nuiton.wikitty.Wikitty#addExtension(java.util.List) + * @see org.nuiton.wikitty.Wikitty#addExtension(java.util.Collection) */ @Override - public void addExtension(List<WikittyExtension> exts) { + public void addExtension(Collection<WikittyExtension> exts) { for (WikittyExtension ext : exts) { addExtension(ext); }
participants (1)
-
echatellier@users.nuiton.org