diff --git a/src/main/java/com/kenticocloud/delivery/DeliveryParameterBuilder.java b/src/main/java/com/kenticocloud/delivery/DeliveryParameterBuilder.java index 852f0998..0814822b 100644 --- a/src/main/java/com/kenticocloud/delivery/DeliveryParameterBuilder.java +++ b/src/main/java/com/kenticocloud/delivery/DeliveryParameterBuilder.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; public class DeliveryParameterBuilder { @@ -179,6 +180,13 @@ public DeliveryParameterBuilder language(String language) { return this; } + public DeliveryParameterBuilder language(Locale language) { + if (language != null) { + nameValuePairs.add(new BasicNameValuePair(LANGUAGE, language.toString().replace('_', '-'))); + } + return this; + } + public List build() { return nameValuePairs; } diff --git a/src/test/java/com/kenticocloud/delivery/DeliveryParameterBuilderTest.java b/src/test/java/com/kenticocloud/delivery/DeliveryParameterBuilderTest.java index da65e569..4b833d91 100644 --- a/src/test/java/com/kenticocloud/delivery/DeliveryParameterBuilderTest.java +++ b/src/test/java/com/kenticocloud/delivery/DeliveryParameterBuilderTest.java @@ -271,9 +271,26 @@ public void testLanguage() { Assert.assertEquals("en-US", params.get(0).getValue()); } + @Test + public void testLocaleLanguage() { + List params = DeliveryParameterBuilder.params().language(new Locale("pt", "br")).build(); + Assert.assertEquals(1, params.size()); + Assert.assertEquals("language", params.get(0).getName()); + Assert.assertEquals("pt-BR", params.get(0).getValue()); + } + + @Test + public void testLocaleWithNoVariantLanguage() { + List params = DeliveryParameterBuilder.params().language(new Locale("en")).build(); + Assert.assertEquals(1, params.size()); + Assert.assertEquals("language", params.get(0).getName()); + Assert.assertEquals("en", params.get(0).getValue()); + } + @Test public void testLanguageNull() { - List params = DeliveryParameterBuilder.params().language(null).build(); + String nullValue = null; + List params = DeliveryParameterBuilder.params().language(nullValue).build(); Assert.assertEquals(0, params.size()); } }