diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21.java index 5c72ff9..f2e554c 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21.java +++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21.java @@ -1,7 +1,7 @@ /* * GeoServer-Manager - Simple Manager Library for GeoServer * - * Copyright (C) 2007,2011 GeoSolutions S.A.S. + * Copyright (C) 2007-2016 GeoSolutions S.A.S. * http://www.geo-solutions.it * * Permission is hereby granted, free of charge, to any person obtaining a copy @@ -26,7 +26,6 @@ package it.geosolutions.geoserver.rest.encoder; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -37,6 +36,7 @@ import it.geosolutions.geoserver.rest.encoder.identifier.GSIdentifierInfoEncoder import it.geosolutions.geoserver.rest.encoder.identifier.IdentifierInfo; import it.geosolutions.geoserver.rest.encoder.utils.NestedElementEncoder; import it.geosolutions.geoserver.rest.encoder.utils.XmlElement; +import java.util.LinkedHashMap; /** * Layer encoder for Geoserver = 2.1 @@ -102,7 +102,7 @@ public class GSLayerEncoder21 extends GSLayerEncoder { */ public void addAuthorityURL(GSAuthorityURLInfoEncoder authorityURLInfo){ if(authorityURLList == null){ - authorityURLList = new HashMap(); + authorityURLList = new LinkedHashMap(); } authorityURLList.put(authorityURLInfo.getHref(), authorityURLInfo.getName()); String jsonStr = ""; @@ -152,7 +152,7 @@ public class GSLayerEncoder21 extends GSLayerEncoder { */ public void addIdentifier(GSIdentifierInfoEncoder identifierInfo){ if(identifierList == null){ - identifierList = new HashMap>(); + identifierList = new LinkedHashMap>(); } String authority = identifierInfo.getAuthority(); diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21Test.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21Test.java index c821369..4db042b 100644 --- a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21Test.java +++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSLayerEncoder21Test.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 - 2011 GeoSolutions S.A.S. + * Copyright (C) 2007-2016 GeoSolutions S.A.S. * http://www.geo-solutions.it * * GPLv3 + Classpath exception @@ -19,7 +19,6 @@ */ package it.geosolutions.geoserver.rest.encoder; -import java.util.ArrayList; import java.util.List; import it.geosolutions.geoserver.rest.encoder.authorityurl.AuthorityURLInfo; @@ -46,16 +45,21 @@ public class GSLayerEncoder21Test { public void setup() { layerEncoder = new GSLayerEncoder21(); layerEncoder.setAdvertised(true); - layerEncoder.addAuthorityURL(new GSAuthorityURLInfoEncoder( + layerEncoder.addAuthorityURL( + new GSAuthorityURLInfoEncoder( "authority1", "http://www.authority1.org")); - layerEncoder.addIdentifier(new GSIdentifierInfoEncoder("authority1", - "identifier1")); - layerEncoder.addAuthorityURL(new GSAuthorityURLInfoEncoder( + layerEncoder.addIdentifier( + new GSIdentifierInfoEncoder( + "authority1", "identifier1")); + layerEncoder.addAuthorityURL( + new GSAuthorityURLInfoEncoder( "authority2", "http://www.authority2.org")); - layerEncoder.addIdentifier(new GSIdentifierInfoEncoder("authority2", - "identifier2")); - layerEncoder.addIdentifier(new GSIdentifierInfoEncoder("authority2", - "additionalId")); + layerEncoder.addIdentifier( + new GSIdentifierInfoEncoder( + "authority2", "identifier2")); + layerEncoder.addIdentifier( + new GSIdentifierInfoEncoder( + "authority2", "additionalId")); } @@ -97,34 +101,33 @@ public class GSLayerEncoder21Test { }else if(key.matches("identifiers")){ String jsonStr = el.getValue(); jsonStr = jsonStr.substring(2); - jsonStr = jsonStr.substring(0, - jsonStr.length() - 3); + jsonStr = jsonStr.substring(0, jsonStr.length() - 3); String[] items = jsonStr.split("\\}(,)\\{"); String[] props1 = items[0].split(","); String[] kvp1_1 = props1[0].split("\":"); String[] kvp1_2 = props1[1].split("\":"); - Assert.assertEquals(IdentifierInfo.authority.name(), kvp1_1[0].replace("\"", "")); - Assert.assertEquals("authority2", kvp1_1[1].replace("\"", "")); - Assert.assertEquals(IdentifierInfo.identifier.name(), kvp1_2[0].replace("\"", "")); - Assert.assertEquals("identifier2", kvp1_2[1].replace("\"", "")); + Assert.assertEquals("idx0", IdentifierInfo.authority.name(), kvp1_1[0].replace("\"", "")); + Assert.assertEquals("idx0", "authority1", kvp1_1[1].replace("\"", "")); + Assert.assertEquals("idx0", IdentifierInfo.identifier.name(), kvp1_2[0].replace("\"", "")); + Assert.assertEquals("idx0", "identifier1", kvp1_2[1].replace("\"", "")); String[] props2 = items[1].split(","); String[] kvp2_1 = props2[0].split("\":"); String[] kvp2_2 = props2[1].split("\":"); - Assert.assertEquals(IdentifierInfo.authority.name(), kvp2_1[0].replace("\"", "")); - Assert.assertEquals("authority2", kvp2_1[1].replace("\"", "")); - Assert.assertEquals(IdentifierInfo.identifier.name(), kvp2_2[0].replace("\"", "")); - Assert.assertEquals("additionalId", kvp2_2[1].replace("\"", "")); + Assert.assertEquals("idx1", IdentifierInfo.authority.name(), kvp2_1[0].replace("\"", "")); + Assert.assertEquals("idx1", "authority2", kvp2_1[1].replace("\"", "")); + Assert.assertEquals("idx1", IdentifierInfo.identifier.name(), kvp2_2[0].replace("\"", "")); + Assert.assertEquals("idx1", "identifier2", kvp2_2[1].replace("\"", "")); String[] props3 = items[2].split(","); String[] kvp3_1 = props3[0].split("\":"); String[] kvp3_2 = props3[1].split("\":"); - Assert.assertEquals(IdentifierInfo.authority.name(), kvp3_1[0].replace("\"", "")); - Assert.assertEquals("authority1", kvp3_1[1].replace("\"", "")); - Assert.assertEquals(IdentifierInfo.identifier.name(), kvp3_2[0].replace("\"", "")); - Assert.assertEquals("identifier1", kvp3_2[1].replace("\"", "")); + Assert.assertEquals("idx2", IdentifierInfo.authority.name(), kvp3_1[0].replace("\"", "")); + Assert.assertEquals("idx2", "authority2", kvp3_1[1].replace("\"", "")); + Assert.assertEquals("idx2", IdentifierInfo.identifier.name(), kvp3_2[0].replace("\"", "")); + Assert.assertEquals("idx2", "additionalId", kvp3_2[1].replace("\"", "")); } }