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

ahuber pushed a commit to branch ISIS-1846_internal_utils
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/ISIS-1846_internal_utils by 
this push:
     new 77b179b  ISIS-1846 add capitalize to new _String utility + tests, 
cleanup Enums
77b179b is described below

commit 77b179bfd285934eabc8436ded943bccb7efd9ec
Author: Andi Huber <ahu...@apache.org>
AuthorDate: Mon Jan 22 22:06:03 2018 +0100

    ISIS-1846 add capitalize to new _String utility + tests, cleanup Enums
---
 .../apache/isis/applib/internal/base/_Strings.java | 20 ++++++++++-
 .../java/org/apache/isis/applib/util/Enums.java    | 41 ++++++----------------
 .../isis/applib/internal/base/StringsTest.java     | 28 +++++++++++++++
 3 files changed, 58 insertions(+), 31 deletions(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java 
b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java
index ae4ad23..e8f3921 100644
--- 
a/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java
+++ 
b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java
@@ -104,7 +104,25 @@ public final class _Strings {
        }
         return input.toUpperCase();
     }
-       
+    
+    /**
+     * Converts the first character in {@code input} to upper case using the 
rules of the default locale. 
+     * @param input
+     * @return null if {@code input} is null
+     */
+    public static String capitalize(@Nullable final String input) {
+       if(input==null) {
+               return null;
+       }
+       if (input.length() == 0) {
+               return input;
+       }
+       if (input.length() == 1) {
+               return input.toUpperCase();
+       }
+       return Character.toUpperCase(input.charAt(0)) + input.substring(1);
+    }
+    
        // -- SPLITTING
        
        /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/Enums.java 
b/core/applib/src/main/java/org/apache/isis/applib/util/Enums.java
index bfc6549..0f73fc0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/Enums.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/Enums.java
@@ -19,10 +19,9 @@
 
 package org.apache.isis.applib.util;
 
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Iterables;
+import java.util.stream.Collectors;
+
+import org.apache.isis.applib.internal.base._Strings;
 
 public final class Enums {
     
@@ -33,12 +32,18 @@ public final class Enums {
     }
     
     public static String getFriendlyNameOf(String anEnumName) {
-        return Joiner.on(" 
").join(Iterables.transform(Splitter.on("_").split(anEnumName), 
LOWER_CASE_THEN_CAPITALIZE));
+       return _Strings.splitThenStream(anEnumName, "_")
+                       .map(_Strings::lower)
+                       .map(_Strings::capitalize)
+                       .collect(Collectors.joining(" "));
     }
 
     
     public static String getEnumNameFromFriendly(String anEnumFriendlyName) {
-        return Joiner.on("_").join(Iterables.transform(Splitter.on(" 
").split(anEnumFriendlyName), UPPER_CASE));
+       return _Strings.splitThenStream(anEnumFriendlyName, " ")
+               .map(_Strings::lower)
+               .map(_Strings::capitalize)
+               .collect(Collectors.joining("_"));
     }
 
     
@@ -80,28 +85,4 @@ public final class Enums {
     }
 
 
-    private static Function<String, String> LOWER_CASE_THEN_CAPITALIZE = new 
Function<String, String>() {
-        @Override
-        public String apply(String input) {
-            return capitalize(input.toLowerCase());
-        }
-    };
-
-    private static Function<String, String> UPPER_CASE = new Function<String, 
String>() {
-        @Override
-        public String apply(String input) {
-            return input.toUpperCase();
-        }
-    };
-
-    private static String capitalize(final String str) {
-        if (str == null || str.length() == 0) {
-            return str;
-        }
-        if (str.length() == 1) {
-            return str.toUpperCase();
-        }
-        return Character.toUpperCase(str.charAt(0)) + str.substring(1);
-    }
-
 }
diff --git 
a/core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
 
b/core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
index 6765de9..0180bc1 100644
--- 
a/core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
+++ 
b/core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
@@ -74,6 +74,34 @@ public class StringsTest {
        }
        
        @Test
+       public void capitalizeWithNull() throws Exception {
+               Assert.assertThat(
+                               _Strings.capitalize(null), 
+                               nullValue());
+       }
+       
+       @Test
+       public void capitalizeSize0() throws Exception {
+               Assert.assertThat(
+                               _Strings.capitalize(""), 
+                               is(""));
+       }
+       
+       @Test
+       public void capitalizeSize1() throws Exception {
+               Assert.assertThat(
+                               _Strings.capitalize("a"), 
+                               is("A"));
+       }
+       
+       @Test
+       public void capitalizeSize2() throws Exception {
+               Assert.assertThat(
+                               _Strings.capitalize("ab"), 
+                               is("Ab"));
+       }
+       
+       @Test
        public void trimWithNull() throws Exception {
                Assert.assertThat(
                                _Strings.trim(null), 

-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.

Reply via email to