You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ts...@apache.org on 2015/12/04 18:48:45 UTC
[4/7] wicket git commit: WICKET-6042 - List instead of Varargs
WICKET-6042 - List instead of Varargs
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/93fe70d0
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/93fe70d0
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/93fe70d0
Branch: refs/heads/master
Commit: 93fe70d08cf255d6673243ae02e36c01c360eaf7
Parents: 1ac89ee
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Wed Dec 2 18:58:10 2015 +0100
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Fri Dec 4 18:47:41 2015 +0100
----------------------------------------------------------------------
.../wicket/markup/html/image/ExternalImage.java | 101 ++++++++++---------
.../markup/html/image/ExternalSource.java | 5 +-
.../markup/html/image/ExternalImageTest.java | 9 +-
.../html/image/ExternalImageTestPage.java | 22 ++--
4 files changed, 76 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/93fe70d0/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalImage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalImage.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalImage.java
index 78de861..832c711 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalImage.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalImage.java
@@ -49,7 +49,20 @@ public class ExternalImage extends WebComponent
*/
private Cors crossOrigin = null;
- private IModel<?>[] srcSetModels;
+ private IModel<List<Serializable>> srcSetModels;
+
+ /**
+ * Creates an external image
+ *
+ * @param id
+ * the component id
+ * @param src
+ * the source URL
+ */
+ public ExternalImage(String id, Serializable src)
+ {
+ this(id, src, (List<Serializable>)null);
+ }
/**
* Creates an external image
@@ -61,9 +74,9 @@ public class ExternalImage extends WebComponent
* @param srcSet
* a list of URLs placed in the srcset attribute
*/
- public ExternalImage(String id, Serializable src, Serializable... srcSet)
+ public ExternalImage(String id, Serializable src, List<Serializable> srcSet)
{
- this(id, src != null ? Model.of(src) : null, convertToModel(srcSet));
+ this(id, Model.of(src), Model.ofList(srcSet));
}
/**
@@ -76,38 +89,26 @@ public class ExternalImage extends WebComponent
* @param srcSetModels
* a model list of URLs placed in the srcset attribute
*/
- public ExternalImage(String id, IModel<?> srcModel, IModel<?>... srcSetModels)
+ public ExternalImage(String id, IModel<Serializable> srcModel)
{
- super(id, srcModel);
- this.srcSetModels = srcSetModels;
+ this(id, srcModel, (IModel<List<Serializable>>)null);
}
/**
- * Converts a variable argument of Strings to an array of models
+ * Creates an external image
*
- * @param srcSet
- * a variable argument of URLs to be converted to an array of models
- * @return an array of models
+ * @param id
+ * the component id
+ * @param srcModel
+ * the model source URL
+ * @param srcSetModels
+ * a model list of URLs placed in the srcset attribute
*/
- private static IModel<?>[] convertToModel(Serializable... srcSet)
+ public ExternalImage(String id, IModel<Serializable> srcModel,
+ IModel<List<Serializable>> srcSetModels)
{
- IModel<?>[] models = null;
- if (srcSet != null)
- {
-
- models = new IModel<?>[srcSet.length];
- int i = 0;
- for (Serializable srcSetElement : srcSet)
- {
- models[i] = Model.of(srcSetElement);
- i++;
- }
- }
- else
- {
- models = new IModel<?>[0];
- }
- return models;
+ super(id, srcModel);
+ this.srcSetModels = srcSetModels;
}
@Override
@@ -121,13 +122,9 @@ public class ExternalImage extends WebComponent
}
else
{
- List<IModel<?>> srcSet = getSrcSet();
checkComponentTag(tag, "img");
buildSrcAttribute(tag, getDefaultModel());
- if (srcSet.size() > 1)
- {
- buildSrcSetAttribute(tag, srcSet);
- }
+ buildSrcSetAttribute(tag, getSrcSet());
}
buildSizesAttribute(tag);
@@ -163,23 +160,29 @@ public class ExternalImage extends WebComponent
* @param srcSetModels
* the models containing the src set URLs
*/
- protected void buildSrcSetAttribute(final ComponentTag tag, List<IModel<?>> srcSetModels)
+ protected void buildSrcSetAttribute(final ComponentTag tag,
+ IModel<List<Serializable>> srcSetModels)
{
int srcSetPosition = 0;
- for (IModel<?> srcSetModel : srcSetModels)
+ List<Serializable> srcSetItems = srcSetModels.getObject();
+ if (srcSetItems != null)
{
- String srcset = tag.getAttribute("srcset");
- String xValue = "";
-
- // If there are xValues set process them in the applied order to the srcset attribute.
- if (xValues != null)
+ for (Serializable srcSetModel : srcSetItems)
{
- xValue = xValues.size() > srcSetPosition && xValues.get(srcSetPosition) != null
- ? " " + xValues.get(srcSetPosition) : "";
+ String srcset = tag.getAttribute("srcset");
+ String xValue = "";
+
+ // If there are xValues set process them in the applied order to the srcset
+ // attribute.
+ if (xValues != null)
+ {
+ xValue = xValues.size() > srcSetPosition && xValues.get(srcSetPosition) != null
+ ? " " + xValues.get(srcSetPosition)
+ : "";
+ }
+ tag.put("srcset", (srcset != null ? srcset + ", " : "") + srcSetModel + xValue);
+ srcSetPosition++;
}
- tag.put("srcset",
- (srcset != null ? srcset + ", " : "") + srcSetModel.getObject() + xValue);
- srcSetPosition++;
}
}
@@ -275,9 +278,9 @@ public class ExternalImage extends WebComponent
*
* @return a list of models containing the src set values
*/
- public List<IModel<?>> getSrcSet()
+ public IModel<List<Serializable>> getSrcSet()
{
- return Arrays.asList(srcSetModels);
+ return srcSetModels;
}
/**
@@ -286,9 +289,9 @@ public class ExternalImage extends WebComponent
@Override
protected void onDetach()
{
- for (IModel<?> model : srcSetModels)
+ if (srcSetModels != null)
{
- model.detach();
+ srcSetModels.detach();
}
super.onDetach();
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/93fe70d0/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalSource.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalSource.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalSource.java
index a2d184a..3485f9d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalSource.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/ExternalSource.java
@@ -17,6 +17,7 @@
package org.apache.wicket.markup.html.image;
import java.io.Serializable;
+import java.util.List;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.image.Image.Cors;
@@ -47,7 +48,7 @@ public class ExternalSource extends ExternalImage
* @param srcSet
* a list of URLs placed in the srcset attribute
*/
- public ExternalSource(String id, Serializable... srcSet)
+ public ExternalSource(String id, List<Serializable> srcSet)
{
super(id, null, srcSet);
}
@@ -62,7 +63,7 @@ public class ExternalSource extends ExternalImage
* @param srcSetModels
* a model list of URLs placed in the srcset attribute
*/
- public ExternalSource(String id, IModel<?>... srcSetModels)
+ public ExternalSource(String id, IModel<List<Serializable>> srcSetModels)
{
super(id, null, srcSetModels);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/93fe70d0/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTest.java
index fb4e072..d520f7c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.image;
+import java.io.Serializable;
import java.util.List;
import org.apache.wicket.Component;
@@ -51,17 +52,17 @@ public class ExternalImageTest extends WicketTestCase
public void testExternalImageModel()
{
tester.startPage(ExternalImageTestPage.class);
- String lastResponseAsString = tester.getLastResponse().getDocument();
+ tester.getLastResponse().getDocument();
Component externalImage2Component = tester
.getComponentFromLastRenderedPage("externalImage2");
ExternalImage externalImage2 = (ExternalImage)externalImage2Component;
- Object defaultModelObject = externalImage2.getDefaultModelObject();
TagTester tagById = tester.getTagById("externalImage2");
- for (IModel<?> model : externalImage2.getSrcSet())
+ IModel<List<Serializable>> srcSet = externalImage2.getSrcSet();
+ for (Serializable model :srcSet.getObject())
{
String attribute = tagById.getAttribute("srcset");
- Assert.assertTrue(attribute.contains(model.getObject().toString()));
+ Assert.assertTrue(attribute.contains(model.toString()));
}
String attribute = tagById.getAttribute("src");
http://git-wip-us.apache.org/repos/asf/wicket/blob/93fe70d0/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTestPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTestPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTestPage.java
index a75b54b..753d487 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTestPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/image/ExternalImageTestPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.html.image;
+import java.util.Arrays;
+
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.model.Model;
@@ -35,17 +37,25 @@ public class ExternalImageTestPage extends WebPage
public ExternalImageTestPage()
{
add(new ExternalImage("externalImage1", "http://wicket.apache.org/img/wicket-7-bg.jpg"));
- ExternalImage externalImage2 = new ExternalImage("externalImage2", "http://wicket.apache.org/img/wicket-7-bg.jpg","http://wicket.apache.org/img/wicket-7-bg-1.jpg","http://wicket.apache.org/img/wicket-7-bg-2.jpg");
- externalImage2.setSizes("s1","s2");
- externalImage2.setXValues("x1","x2");
+ ExternalImage externalImage2 = new ExternalImage("externalImage2",
+ "http://wicket.apache.org/img/wicket-7-bg.jpg",
+ Arrays.asList("http://wicket.apache.org/img/wicket-7-bg-1.jpg",
+ "http://wicket.apache.org/img/wicket-7-bg-2.jpg"));
+ externalImage2.setSizes("s1", "s2");
+ externalImage2.setXValues("x1", "x2");
add(externalImage2);
Picture picture = new Picture("externalPicture");
- ExternalSource externalSource = new ExternalSource("externalSource", Model.of("http://wicket.apache.org/img/wicket-7-bg-1.jpg"),Model.of("http://wicket.apache.org/img/wicket-7-bg-2.jpg"));
- externalSource.setXValues("","x2");
+ ExternalSource externalSource = new ExternalSource("externalSource",
+ Model.ofList(Arrays.asList("http://wicket.apache.org/img/wicket-7-bg-1.jpg",
+ "http://wicket.apache.org/img/wicket-7-bg-2.jpg")));
+ externalSource.setXValues("", "x2");
externalSource.setSizes("1");
externalSource.setMedia("(min-width: 650px)");
picture.add(externalSource);
- ExternalImage externalImage3 = new ExternalImage("externalImage3", "http://wicket.apache.org/img/wicket-7-bg.jpg","http://wicket.apache.org/img/wicket-7-bg-1.jpg","http://wicket.apache.org/img/wicket-7-bg-2.jpg");
+ ExternalImage externalImage3 = new ExternalImage("externalImage3",
+ "http://wicket.apache.org/img/wicket-7-bg.jpg",
+ Arrays.asList("http://wicket.apache.org/img/wicket-7-bg-1.jpg",
+ "http://wicket.apache.org/img/wicket-7-bg-2.jpg"));
picture.add(externalImage3);
add(picture);
}