Repository: wicket
Updated Branches:
  refs/heads/master c9aa5b94e -> 068d7d596


WICKET-5577 Generation of wicket ids with prefix / suffix

Preserve the logic for not creating markup id with argument 
createIfDoesNotExist=false

(cherry picked from commit 06660a00ba52e1c530587a3c46e16d2860470158)


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/068d7d59
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/068d7d59
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/068d7d59

Branch: refs/heads/master
Commit: 068d7d59693689391b2f5a89ebe9cfb021fd9231
Parents: c9aa5b9
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:14:46 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/068d7d59/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 eed90a7..9a72a11 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -1499,7 +1499,7 @@ public abstract class Component
        public String getMarkupId(boolean createIfDoesNotExist)
        {
                IMarkupIdGenerator markupIdGenerator = 
getApplication().getMarkupSettings().getMarkupIdGenerator();
-               String markupId = markupIdGenerator.generateMarkupId(this);
+               String markupId = markupIdGenerator.generateMarkupId(this, 
createIfDoesNotExist);
                return markupId;
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/068d7d59/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/068d7d59/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/068d7d59/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 859f620..0fcc91b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/MarkupIdGeneratorTest.java
@@ -51,7 +51,7 @@ public class MarkupIdGeneratorTest extends WicketTestCase
                IMarkupIdGenerator generator = new IMarkupIdGenerator()
                {
                        @Override
-                       public String generateMarkupId(Component component)
+                       public String generateMarkupId(Component component, 
boolean create)
                        {
                                return customMarkupId;
                        }

Reply via email to