You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/01/22 21:06:07 UTC

[isis] branch ISIS-1846_internal_utils updated: ISIS-1846 add capitalize to new _String utility + tests, cleanup Enums

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 <ah...@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
ahuber@apache.org.