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.