You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bd...@apache.org on 2022/12/08 20:03:34 UTC

[directory-scimple] branch flaky-test-phoneNumberBuilder created (now 580495df)

This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a change to branch flaky-test-phoneNumberBuilder
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git


      at 580495df Make PhoneNumber.param entry order consistent

This branch includes the following new commits:

     new 580495df Make PhoneNumber.param entry order consistent

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[directory-scimple] 01/01: Make PhoneNumber.param entry order consistent

Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a commit to branch flaky-test-phoneNumberBuilder
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git

commit 580495df9f5a366c2d672860cb040dcf6a3fd990
Author: Brian Demers <bd...@apache.org>
AuthorDate: Thu Dec 8 15:03:28 2022 -0500

    Make PhoneNumber.param entry order consistent
    
    This should possibly be sorted map instead of an ordered one, but starting with predictable output is still an improvement.
    
    Fixes: #200
---
 .../directory/scim/spec/resources/PhoneNumber.java    | 19 ++++++++++++-------
 .../scim/spec/resources/PhoneNumberBuilderTest.java   |  8 ++++----
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
index b49e65fc..337038c4 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
@@ -23,7 +23,7 @@
 package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -122,7 +122,7 @@ public class PhoneNumber extends KeyedResource implements Serializable, TypedAtt
 
   public void addParam(String name, String value) {
     if (this.params == null) {
-      this.params = new HashMap<String, String>();
+      this.params = new LinkedHashMap<>();
     }
 
     this.params.put(name, value);
@@ -270,8 +270,8 @@ public class PhoneNumber extends KeyedResource implements Serializable, TypedAtt
     return result;
   }
 
-  HashMap<String, String> paramsToLowerCase() {
-    HashMap<String, String> paramsLowercase = new HashMap<String, String>();
+  Map<String, String> paramsToLowerCase() {
+    Map<String, String> paramsLowercase = new LinkedHashMap<>();
     for (Entry<String, String> entry : params.entrySet()) {
       paramsLowercase.put(entry.getKey().toLowerCase(), entry.getValue().toLowerCase());
     }
@@ -288,7 +288,7 @@ public class PhoneNumber extends KeyedResource implements Serializable, TypedAtt
       return false;
     }
 
-    HashMap<String, String> paramsLowercase = paramsToLowerCase();
+    Map<String, String> paramsLowercase = paramsToLowerCase();
 
     for (Entry<String, String> entry : otherParams.entrySet()) {
       String foundValue = paramsLowercase.get(entry.getKey().toLowerCase());
@@ -323,7 +323,7 @@ public class PhoneNumber extends KeyedResource implements Serializable, TypedAtt
     String extension;
     String subAddress;
     String phoneContext;
-    Map<String, String> params;
+    LinkedHashMap<String, String> params;
 
     boolean isGlobalNumber = false;
     boolean isDomainPhoneContext = false;
@@ -348,9 +348,14 @@ public class PhoneNumber extends KeyedResource implements Serializable, TypedAtt
       return this;
     }
 
+    public PhoneNumberBuilder setParams(Map<String, String> params) {
+      this.params = params != null ? new LinkedHashMap<>(params) : null;
+      return this;
+    }
+
     public PhoneNumberBuilder param(String name, String value) {
       if (this.params == null) {
-        this.params = new HashMap<String, String>();
+        this.params = new LinkedHashMap<>();
       }
 
       this.params.put(name, value);
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
index ec4570bc..f43923b3 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.resources;
 
-import java.util.HashMap;
+import java.util.Map;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -709,7 +709,7 @@ public class PhoneNumberBuilderTest {
 
     assertEquals("+1-888-888-5555", phoneNumber.getNumber());
     assertEquals("1234", phoneNumber.getExtension());
-    assertEquals(("tel:+1-888-888-5555;ext=1234;milhouse=simpson;example=gh234"), phoneNumber.getValue());
+    assertEquals(("tel:+1-888-888-5555;ext=1234;example=gh234;milhouse=simpson"), phoneNumber.getValue());
   }
   
   @Test
@@ -725,7 +725,7 @@ public class PhoneNumberBuilderTest {
     assertEquals("888-5555", phoneNumber.getNumber());
     assertEquals("+1-888", phoneNumber.getPhoneContext());
     assertEquals("example.a.com", phoneNumber.getSubAddress());
-    assertEquals(("tel:888-5555;isub=example.a.com;phone-context=+1-888;milhouse=simpson;example=gh234"), phoneNumber.getValue());
+    assertEquals(("tel:888-5555;isub=example.a.com;phone-context=+1-888;example=gh234;milhouse=simpson"), phoneNumber.getValue());
   }
   
   @Test
@@ -937,7 +937,7 @@ public class PhoneNumberBuilderTest {
                      .param("NOPQR", "STUVWXYZ.-_")
                      .build();
     
-    HashMap<String, String> lowerP = ph.paramsToLowerCase();
+    Map<String, String> lowerP = ph.paramsToLowerCase();
     
     assertEquals(2, lowerP.size());
     assertEquals("fghijklm", lowerP.get("abcde"));