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:43 UTC
[2/7] wicket git commit: WICKET-6042 - Improvements
WICKET-6042 - Improvements
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/1ac89ee1
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/1ac89ee1
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/1ac89ee1
Branch: refs/heads/master
Commit: 1ac89ee1c8c305097e34c3733c41bb217d627e57
Parents: 78802c9
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Tue Dec 1 20:25:28 2015 +0100
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Fri Dec 4 18:47:40 2015 +0100
----------------------------------------------------------------------
.../wicket/markup/html/image/ExternalImage.java | 47 ++++++++++++++------
.../markup/html/image/ExternalSource.java | 13 +++---
.../apache/wicket/markup/html/image/Image.java | 6 ++-
3 files changed, 44 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/1ac89ee1/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 f3b6ae0..78de861 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
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.image;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -48,7 +49,7 @@ public class ExternalImage extends WebComponent
*/
private Cors crossOrigin = null;
- private IModel<?>[] srcSet;
+ private IModel<?>[] srcSetModels;
/**
* Creates an external image
@@ -60,7 +61,7 @@ public class ExternalImage extends WebComponent
* @param srcSet
* a list of URLs placed in the srcset attribute
*/
- public ExternalImage(String id, String src, String... srcSet)
+ public ExternalImage(String id, Serializable src, Serializable... srcSet)
{
this(id, src != null ? Model.of(src) : null, convertToModel(srcSet));
}
@@ -70,15 +71,15 @@ public class ExternalImage extends WebComponent
*
* @param id
* the component id
- * @param src
+ * @param srcModel
* the model source URL
* @param srcSetModels
* a model list of URLs placed in the srcset attribute
*/
- public ExternalImage(String id, IModel<?> src, IModel<?>... srcSetModels)
+ public ExternalImage(String id, IModel<?> srcModel, IModel<?>... srcSetModels)
{
- super(id, src);
- this.srcSet = srcSetModels;
+ super(id, srcModel);
+ this.srcSetModels = srcSetModels;
}
/**
@@ -88,7 +89,7 @@ public class ExternalImage extends WebComponent
* a variable argument of URLs to be converted to an array of models
* @return an array of models
*/
- private static IModel<?>[] convertToModel(String... srcSet)
+ private static IModel<?>[] convertToModel(Serializable... srcSet)
{
IModel<?>[] models = null;
if (srcSet != null)
@@ -96,7 +97,7 @@ public class ExternalImage extends WebComponent
models = new IModel<?>[srcSet.length];
int i = 0;
- for (String srcSetElement : srcSet)
+ for (Serializable srcSetElement : srcSet)
{
models[i] = Model.of(srcSetElement);
i++;
@@ -148,8 +149,10 @@ public class ExternalImage extends WebComponent
*/
protected void buildSrcAttribute(final ComponentTag tag, IModel<?> srcModel)
{
- // The first model is the one put into src attribute
- tag.put("src", srcModel.getObject().toString());
+ if (srcModel != null)
+ {
+ tag.put("src", srcModel.getObject().toString());
+ }
}
/**
@@ -219,7 +222,10 @@ public class ExternalImage extends WebComponent
{
xValues = new ArrayList<>();
}
- xValues.clear();
+ else
+ {
+ xValues.clear();
+ }
xValues.addAll(Arrays.asList(values));
}
@@ -233,7 +239,10 @@ public class ExternalImage extends WebComponent
{
this.sizes = new ArrayList<>();
}
- this.sizes.clear();
+ else
+ {
+ this.sizes.clear();
+ }
this.sizes.addAll(Arrays.asList(sizes));
}
@@ -268,7 +277,19 @@ public class ExternalImage extends WebComponent
*/
public List<IModel<?>> getSrcSet()
{
- return Arrays.asList(srcSet);
+ return Arrays.asList(srcSetModels);
}
+ /**
+ * Detaches the srcSetModels
+ */
+ @Override
+ protected void onDetach()
+ {
+ for (IModel<?> model : srcSetModels)
+ {
+ model.detach();
+ }
+ super.onDetach();
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/1ac89ee1/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 637d69e..a2d184a 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
@@ -16,12 +16,11 @@
*/
package org.apache.wicket.markup.html.image;
-import java.util.Arrays;
+import java.io.Serializable;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.image.Image.Cors;
import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.lang.Args;
/**
* A component which displays external images within a picture tag.
@@ -48,9 +47,9 @@ public class ExternalSource extends ExternalImage
* @param srcSet
* a list of URLs placed in the srcset attribute
*/
- public ExternalSource(String id, String... srcSet)
+ public ExternalSource(String id, Serializable... srcSet)
{
- super(id, null, Arrays.copyOfRange(srcSet, 1, srcSet.length));
+ super(id, null, srcSet);
}
/**
@@ -60,12 +59,12 @@ public class ExternalSource extends ExternalImage
* the component id
* @param src
* the model source URL
- * @param srcSet
+ * @param srcSetModels
* a model list of URLs placed in the srcset attribute
*/
- public ExternalSource(String id, IModel<?>... srcSet)
+ public ExternalSource(String id, IModel<?>... srcSetModels)
{
- super(id, null, srcSet);
+ super(id, null, srcSetModels);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/1ac89ee1/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java
index f96e66c..5a64395 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java
@@ -316,8 +316,9 @@ public class Image extends WebComponent implements IResourceListener
if (xValues == null)
{
xValues = new ArrayList<>();
+ }else{
+ xValues.clear();
}
- xValues.clear();
xValues.addAll(Arrays.asList(values));
}
@@ -330,8 +331,9 @@ public class Image extends WebComponent implements IResourceListener
if (this.sizes == null)
{
this.sizes = new ArrayList<>();
+ }else{
+ this.sizes.clear();
}
- this.sizes.clear();
this.sizes.addAll(Arrays.asList(sizes));
}