On Mon, Sep 5, 2016 at 7:10 AM, Pedro Santos <[email protected]> wrote:
I searched of MarkupStream#hasMore usages inside Wicket Stuff, which should
give a good idea of how often this method is used, and I think it's safe to
apply the fix on the 1.6.x and 1.7.x branches.
Pedro Santos
On Mon, Sep 5, 2016 at 2:01 AM, <[email protected]> wrote:
Repository: wicket
Updated Branches:
refs/heads/master 7da317e51 -> e3e09fd00
WICKET-6165 renaming MarkupStream#hasMore to MarkupStream#
isCurrentIndexInsideTheStream
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e3e09fd0
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e3e09fd0
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e3e09fd0
Branch: refs/heads/master
Commit: e3e09fd002452c8d2ea4be18f2733cffda78fc10
Parents: 7da317e
Author: Pedro Henrique Oliveira dos Santos <[email protected]>
Authored: Mon Sep 5 02:00:29 2016 -0300
Committer: Pedro Henrique Oliveira dos Santos <[email protected]>
Committed: Mon Sep 5 02:00:29 2016 -0300
----------------------------------------------------------------------
.../java/org/apache/wicket/MarkupContainer.java | 2 +-
.../org/apache/wicket/markup/MarkupStream.java | 18
+++++++++++++-----
.../java/org/apache/wicket/markup/TagUtils.java | 2 +-
.../html/TransparentWebMarkupContainer.java | 2 +-
.../wicket/markup/html/border/BorderBehavior.java | 6 +++---
.../wicket/markup/html/internal/Enclosure.java | 2 +-
.../markup/resolver/WicketMessageResolver.java | 4 ++--
7 files changed, 22 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/
MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/
MarkupContainer.java
b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index 09705ff..6df5316 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -1643,7 +1643,7 @@ public abstract class MarkupContainer extends
Component implements Iterable<Comp
*/
protected final void renderAll(final MarkupStream markupStream,
final ComponentTag openTag)
{
- while (markupStream.hasMore())
+ while (markupStream.isCurrentIndexInsideTheStream())
{
// In case of Page we need to render the whole
file. For all other components just what
// is in between the open and the close tag.
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/
MarkupStream.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/
MarkupStream.java
b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupStream.java
index 99a5165..d5d8b74 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/
MarkupStream.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/
MarkupStream.java
@@ -134,7 +134,7 @@ public class MarkupStream
public boolean equalTo(final MarkupStream that)
{
// While a has more markup elements
- while (hasMore())
+ while (isCurrentIndexInsideTheStream())
{
// Get an element from each
final MarkupElement thisElement = this.get();
@@ -163,7 +163,7 @@ public class MarkupStream
}
// If we've run out of markup elements in b
- if (!that.hasMore())
+ if (!that.isCurrentIndexInsideTheStream())
{
// then the two streams match perfectly
return true;
@@ -271,11 +271,19 @@ public class MarkupStream
}
/**
+ * @return True if this markup stream is moved to a MarkupElement
element
+ */
+ public boolean isCurrentIndexInsideTheStream()
+ {
+ return currentIndex < markup.size();
+ }
+
+ /**
* @return True if this markup stream has more MarkupElement
elements
*/
public boolean hasMore()
{
- return currentIndex < markup.size();
+ return currentIndex < (markup.size() - 1);
}
/**
@@ -417,7 +425,7 @@ public class MarkupStream
*/
public boolean skipUntil(final Class<? extends MarkupElement>
clazz)
{
- while (hasMore())
+ while (isCurrentIndexInsideTheStream())
{
if (clazz.isInstance(current))
{
@@ -462,7 +470,7 @@ public class MarkupStream
public void skipToMatchingCloseTag(final ComponentTag openTag)
{
// Loop through the markup in this container
- while (hasMore())
+ while (isCurrentIndexInsideTheStream())
{
// If the current markup tag closes the openTag
if (get().closes(openTag))
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/
TagUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/
TagUtils.java
b/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java
index 9bd9433..bd0ee75 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/TagUtils.java
@@ -242,7 +242,7 @@ public class TagUtils
MarkupStream stream = new MarkupStream(fragment);
stream.setCurrentIndex(streamOffset);
- while (stream.hasMore())
+ while (stream.isCurrentIndexInsideTheStream())
{
MarkupElement elem = stream.get();
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/html/
TransparentWebMarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/
TransparentWebMarkupContainer.java b/wicket-core/src/main/java/
org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
index f9f76de..6959914 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/
TransparentWebMarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/
TransparentWebMarkupContainer.java
@@ -133,7 +133,7 @@ public class TransparentWebMarkupContainer extends
WebMarkupContainer implements
{
MarkupStream stream = new MarkupStream(getMarkup());
- while (stream.hasMore())
+ while (stream.isCurrentIndexInsideTheStream())
{
MarkupElement childOpenTag =
stream.nextOpenTag();
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/
html/border/BorderBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/
border/BorderBehavior.java
b/wicket-core/src/main/java/org/apache/wicket/markup/html/
border/BorderBehavior.java
index ecb15b8..9459918 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/
border/BorderBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/
border/BorderBehavior.java
@@ -61,7 +61,7 @@ public class BorderBehavior extends Behavior
stream.setCurrentIndex(0);
boolean insideBorderMarkup = false;
- while (stream.hasMore())
+ while (stream.isCurrentIndexInsideTheStream())
{
MarkupElement elem = stream.get();
stream.next();
@@ -104,7 +104,7 @@ public class BorderBehavior extends Behavior
}
}
- if (!stream.hasMore())
+ if (!stream.isCurrentIndexInsideTheStream())
{
throw new WicketRuntimeException("Markup for
component border " + getClass().getName() +
" ended prematurely, was expecting
</wicket:border>");
@@ -117,7 +117,7 @@ public class BorderBehavior extends Behavior
final MarkupStream stream = getMarkupStream(component);
final Response response = component.getResponse();
- while (stream.hasMore())
+ while (stream.isCurrentIndexInsideTheStream())
{
MarkupElement elem = stream.get();
stream.next();
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/
html/internal/Enclosure.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/
internal/Enclosure.java
b/wicket-core/src/main/java/org/apache/wicket/markup/html/
internal/Enclosure.java
index 2d72ac0..1daa4c7 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/
internal/Enclosure.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/
internal/Enclosure.java
@@ -229,7 +229,7 @@ public class Enclosure extends WebMarkupContainer
implements IComponentResolver
int orgIndex = markupStream.getCurrentIndex();
try
{
- while (markupStream.hasMore())
+ while (markupStream.
isCurrentIndexInsideTheStream())
{
markupStream.next();
if (markupStream.skipUntil(
ComponentTag.class))
http://git-wip-us.apache.org/repos/asf/wicket/blob/
e3e09fd0/wicket-core/src/main/java/org/apache/wicket/markup/resolver/
WicketMessageResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/
resolver/WicketMessageResolver.java
b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/
WicketMessageResolver.java
index f2f99f8..bbb5643 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/
WicketMessageResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/
WicketMessageResolver.java
@@ -230,7 +230,7 @@ public class WicketMessageResolver implements
IComponentResolver
log.warn("No value found for
wicket:message tag with key: {}", key);
// If open tag was open-close
- if (markupStream.hasMore() == false)
+ if (markupStream.
isCurrentIndexInsideTheStream() == false)
{
String formatedNotFound =
String.format(NOT_FOUND, key);
getResponse().write(
formatedNotFound);
@@ -358,7 +358,7 @@ public class WicketMessageResolver implements
IComponentResolver
// child component and save their tag index
if (!tag.isOpenClose())
{
- while (markupStream.hasMore() &&
!markupStream.get().closes(openTag))
+ while (markupStream.
isCurrentIndexInsideTheStream() && !markupStream.get().closes(openTag))
{
MarkupElement element =
markupStream.get();