Repository: wicket Updated Branches: refs/heads/wicket-6.x e9f116aa8 -> 06660a00b
WICKET-5577 Generation of wicket ids with prefix / suffix Preserve the logic for not creating markup id with argument createIfDoesNotExist=false Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/06660a00 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/06660a00 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/06660a00 Branch: refs/heads/wicket-6.x Commit: 06660a00ba52e1c530587a3c46e16d2860470158 Parents: e9f116a Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Sun May 25 22:10:47 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Sun May 25 22:10:47 2014 +0200 ---------------------------------------------------------------------- wicket-core/src/main/java/org/apache/wicket/Component.java | 2 +- .../main/java/org/apache/wicket/DefaultMarkupIdGenerator.java | 7 ++++++- .../src/main/java/org/apache/wicket/IMarkupIdGenerator.java | 7 +++++-- .../test/java/org/apache/wicket/MarkupIdGeneratorTest.java | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/06660a00/wicket-core/src/main/java/org/apache/wicket/Component.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java index a3fdc75..a0c5def 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Component.java +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java @@ -1486,7 +1486,7 @@ public abstract class Component public String getMarkupId(boolean createIfDoesNotExist) { IMarkupIdGenerator markupIdGenerator = getApplication().getMarkupIdGenerator(); - String markupId = markupIdGenerator.generateMarkupId(this); + String markupId = markupIdGenerator.generateMarkupId(this, createIfDoesNotExist); return markupId; } http://git-wip-us.apache.org/repos/asf/wicket/blob/06660a00/wicket-core/src/main/java/org/apache/wicket/DefaultMarkupIdGenerator.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/DefaultMarkupIdGenerator.java b/wicket-core/src/main/java/org/apache/wicket/DefaultMarkupIdGenerator.java index 4f5d90f..7be2d52 100644 --- a/wicket-core/src/main/java/org/apache/wicket/DefaultMarkupIdGenerator.java +++ b/wicket-core/src/main/java/org/apache/wicket/DefaultMarkupIdGenerator.java @@ -27,7 +27,7 @@ import org.apache.wicket.util.string.Strings; public class DefaultMarkupIdGenerator implements IMarkupIdGenerator { @Override - public String generateMarkupId(Component component) + public String generateMarkupId(Component component, boolean createIfDoesNotExist) { Object storedMarkupId = component.getMarkupIdImpl(); if (storedMarkupId instanceof String) @@ -35,6 +35,11 @@ public class DefaultMarkupIdGenerator implements IMarkupIdGenerator return (String)storedMarkupId; } + if (storedMarkupId == null && createIfDoesNotExist == false) + { + return null; + } + Session session = component.getSession(); int generatedMarkupId = storedMarkupId instanceof Integer ? (Integer)storedMarkupId : session.nextSequenceValue(); http://git-wip-us.apache.org/repos/asf/wicket/blob/06660a00/wicket-core/src/main/java/org/apache/wicket/IMarkupIdGenerator.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/IMarkupIdGenerator.java b/wicket-core/src/main/java/org/apache/wicket/IMarkupIdGenerator.java index 6bd2e30..6de6a04 100644 --- a/wicket-core/src/main/java/org/apache/wicket/IMarkupIdGenerator.java +++ b/wicket-core/src/main/java/org/apache/wicket/IMarkupIdGenerator.java @@ -25,8 +25,11 @@ public interface IMarkupIdGenerator * Generates markup id for the given component * * @param component - * The component for which to generate a markup id + * The component for which to generate a markup id + * @param createIfDoesNotExist + * When there is no existing markup id, determines whether it should be generated or + * whether <code>null</code> should be returned. * @return The generated markup id */ - String generateMarkupId(Component component); + String generateMarkupId(Component component, boolean createIfDoesNotExist); } http://git-wip-us.apache.org/repos/asf/wicket/blob/06660a00/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java b/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java index 9d4f67f..dcf05ba 100644 --- a/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java @@ -53,7 +53,7 @@ public class MarkupIdGeneratorTest extends WicketTestCase final IMarkupIdGenerator generator = new IMarkupIdGenerator() { @Override - public String generateMarkupId(Component component) + public String generateMarkupId(Component component, boolean create) { return customMarkupId; }
