From 4eeda19c9f0f4a739c83400b4cd2a065241fb180 Mon Sep 17 00:00:00 2001 From: Matias Hernandez Date: Mon, 24 Nov 2014 13:19:21 -0200 Subject: [PATCH 1/3] Fixed StyleMap deserialization "Pair" inside a StyleMap is an inline list.in KML definition. for example: normal #normalState highlight #highlightState --- SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java b/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java index 11ce0bc..82ed8c1 100644 --- a/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java +++ b/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java @@ -26,7 +26,7 @@ public class StyleMap extends StyleSelector { /** The pair list. */ - @ElementList(entry="Pair", inline=false, type=Pair.class, required=false) + @ElementList(entry="Pair", inline=true, type=Pair.class, required=false) private List pairList; /** From fde1490b38983f2c1cb2f959472aa51a9bc96c89 Mon Sep 17 00:00:00 2001 From: Matias Hernandez Date: Mon, 24 Nov 2014 14:12:21 -0200 Subject: [PATCH 2/3] Removed unused import. --- SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java | 1 - 1 file changed, 1 deletion(-) diff --git a/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java b/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java index 82ed8c1..981aac9 100644 --- a/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java +++ b/SimpleKML/src/com/ekito/simpleKML/model/StyleMap.java @@ -17,7 +17,6 @@ import java.util.List; -import org.simpleframework.xml.Element; import org.simpleframework.xml.ElementList; /** From e4416b48a451cbc2196c9167a0bf60c3f65594df Mon Sep 17 00:00:00 2001 From: Matias Hernandez Date: Mon, 24 Nov 2014 14:14:12 -0200 Subject: [PATCH 3/3] A Polygon can contain more than one inner boundary. From the KML reference (https://developers.google.com/kml/documentation/kmlreference#innerboundaryis) - Contains a element. A Polygon can contain multiple elements, which create multiple cut-outs inside the Polygon. --- .../src/com/ekito/simpleKML/model/Polygon.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/SimpleKML/src/com/ekito/simpleKML/model/Polygon.java b/SimpleKML/src/com/ekito/simpleKML/model/Polygon.java index f433bef..6385b03 100644 --- a/SimpleKML/src/com/ekito/simpleKML/model/Polygon.java +++ b/SimpleKML/src/com/ekito/simpleKML/model/Polygon.java @@ -15,7 +15,10 @@ */ package com.ekito.simpleKML.model; +import java.util.List; + import org.simpleframework.xml.Element; +import org.simpleframework.xml.ElementList; /** * A Polygon is defined by an outer boundary and 0 or more inner boundaries. The boundaries, in turn, are defined by LinearRings. When a Polygon is extruded, its boundaries are connected to the ground to form additional polygons, which gives the appearance of a building or a box. Extruded Polygons use {@link PolyStyle} for their color, color mode, and fill. @@ -41,8 +44,8 @@ public class Polygon extends Geometry { private Boundary outerBoundaryIs; /** The inner boundary is. */ - @Element(required=false) - private Boundary innerBoundaryIs; + @ElementList(entry="innerBoundaryIs", inline=true, type=Boundary.class, required=false) + private List innerBoundaryIsList; /** * Gets the extrude. @@ -121,8 +124,8 @@ public void setOuterBoundaryIs(Boundary outerBoundaryIs) { * * @return the inner boundary is */ - public Boundary getInnerBoundaryIs() { - return innerBoundaryIs; + public List getInnerBoundaryIsList() { + return innerBoundaryIsList; } /** @@ -130,7 +133,7 @@ public Boundary getInnerBoundaryIs() { * * @param innerBoundaryIs the new inner boundary is */ - public void setInnerBoundaryIs(Boundary innerBoundaryIs) { - this.innerBoundaryIs = innerBoundaryIs; + public void setInnerBoundaryIs(List innerBoundaryIsList) { + this.innerBoundaryIsList = innerBoundaryIsList; } }