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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new bad28f9912 CAUSEWAY-3404: remove TextUtils#asNaturalName (use case is 
too specific)
bad28f9912 is described below

commit bad28f99124c584d758492ade75352c9ab593b9c
Author: Andi Huber <[email protected]>
AuthorDate: Fri May 12 08:38:51 2023 +0200

    CAUSEWAY-3404: remove TextUtils#asNaturalName (use case is too specific)
---
 .../causeway/commons/internal/base/_Strings.java   |  5 ++
 .../org/apache/causeway/commons/io/TextUtils.java  | 11 ----
 .../commons/internal/base/StringsTest.java         | 36 +++++++++++--
 .../commons/util/StringSpecialFormsTest.java       | 60 ----------------------
 .../actions/action/invocation/IdentifierUtil.java  |  3 +-
 .../fallback/NamedFacetFallbackFromMemberName.java |  4 +-
 .../ParameterNameFacetFactoryUsingReflection.java  |  4 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  3 +-
 8 files changed, 44 insertions(+), 82 deletions(-)

diff --git 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
index b136de62be..2b8df46894 100644
--- 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
+++ 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings.java
@@ -834,6 +834,11 @@ public final class _Strings {
     public static final StringOperator asNormalized =
             s->_Strings.condenseWhitespaces(s, " ");
 
+    /**
+     * Returns a word spaced version of the specified name, so there are spaces
+     * between the words, where each word starts with a capital letter. E.g.,
+     * "NextAvailableDate" is returned as "Next Available Date".
+     */
     public static final StringOperator asNaturalName =
             s->_Strings_NaturalName.naturalName(s, true);
 
diff --git 
a/commons/src/main/java/org/apache/causeway/commons/io/TextUtils.java 
b/commons/src/main/java/org/apache/causeway/commons/io/TextUtils.java
index 6949c2c922..d78626e87d 100644
--- a/commons/src/main/java/org/apache/causeway/commons/io/TextUtils.java
+++ b/commons/src/main/java/org/apache/causeway/commons/io/TextUtils.java
@@ -208,17 +208,6 @@ public class TextUtils {
         });
     }
 
-    // -- SPECIAL FORMS
-
-    /**
-     * Returns a word spaced version of the specified name, so there are spaces
-     * between the words, where each word starts with a capital letter. E.g.,
-     * "NextAvailableDate" is returned as "Next Available Date".
-     */
-    public String asNaturalName(final String name) {
-        return _Strings.asNaturalName.apply(name);
-    }
-
     // -- STRING DELIMITER
 
     public StringDelimiter delimiter(final @NonNull String delimiter) {
diff --git 
a/commons/src/test/java/org/apache/causeway/commons/internal/base/StringsTest.java
 
b/commons/src/test/java/org/apache/causeway/commons/internal/base/StringsTest.java
index d4c0135dd1..29542d86ca 100644
--- 
a/commons/src/test/java/org/apache/causeway/commons/internal/base/StringsTest.java
+++ 
b/commons/src/test/java/org/apache/causeway/commons/internal/base/StringsTest.java
@@ -29,6 +29,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 import org.apache.causeway.commons.internal._Constants;
@@ -331,11 +332,38 @@ class StringsTest {
 
     @Test
     void asNaturalName() throws Exception {
-        assertThat(
-                _Strings.asNaturalName
-                .apply("NextAvailableDate"),
-                is("Next Available Date"));
+        assertThat(asNaturalName("NextAvailableDate"), is("Next Available 
Date"));
+    }
+    @Test
+    void naturalNameAddsSpacesToCamelCaseWords() {
+        assertEquals("Camel Case Word", asNaturalName("CamelCaseWord"));
+    }
+    @Test
+    void naturalNameAddsSpacesBeforeNumbers() {
+        assertEquals("One 2 One", asNaturalName("One2One"));
+        assertEquals("Type 123", asNaturalName("Type123"));
+        assertEquals("4321 Go", asNaturalName("4321Go"));
+    }
+    @Test
+    void naturalNameRecognisesAcronymns() {
+        assertEquals("TNT Power", asNaturalName("TNTPower"));
+        assertEquals("Spam RAM Can", asNaturalName("SpamRAMCan"));
+        assertEquals("DOB", asNaturalName("DOB"));
     }
+    @Test
+    void naturalNameWithShortNames() {
+        assertEquals("At", asNaturalName("At"));
+        assertEquals("I", asNaturalName("I"));
+    }
+    @Test
+    void naturalNameNoChange() {
+        assertEquals("Camel Case Word", asNaturalName("CamelCaseWord"));
+        assertEquals("Almost Normal english sentence", asNaturalName("Almost 
Normal english sentence"));
+    }
+    private static String asNaturalName(final String string) {
+        return _Strings.asNaturalName.apply(string);
+    }
+
 
     @Test
     void asCamelCase() {
diff --git 
a/commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
 
b/commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
deleted file mode 100644
index 3ebb091fdd..0000000000
--- 
a/commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.commons.util;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.apache.causeway.commons.io.TextUtils;
-
-class StringSpecialFormsTest {
-
-    @Test
-    void naturalNameAddsSpacesToCamelCaseWords() {
-        assertEquals("Camel Case Word", 
TextUtils.asNaturalName("CamelCaseWord"));
-    }
-
-    @Test
-    void naturalNameAddsSpacesBeforeNumbers() {
-        assertEquals("One 2 One", TextUtils.asNaturalName("One2One"));
-        assertEquals("Type 123", TextUtils.asNaturalName("Type123"));
-        assertEquals("4321 Go", TextUtils.asNaturalName("4321Go"));
-    }
-
-    @Test
-    void naturalNameRecognisesAcronymns() {
-        assertEquals("TNT Power", TextUtils.asNaturalName("TNTPower"));
-        assertEquals("Spam RAM Can", TextUtils.asNaturalName("SpamRAMCan"));
-        assertEquals("DOB", TextUtils.asNaturalName("DOB"));
-    }
-
-    @Test
-    void naturalNameWithShortNames() {
-        assertEquals("At", TextUtils.asNaturalName("At"));
-        assertEquals("I", TextUtils.asNaturalName("I"));
-    }
-
-    @Test
-    void naturalNameNoChange() {
-        assertEquals("Camel Case Word", 
TextUtils.asNaturalName("CamelCaseWord"));
-        assertEquals("Almost Normal english sentence", 
TextUtils.asNaturalName("Almost Normal english sentence"));
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/IdentifierUtil.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/IdentifierUtil.java
index 701a8823c9..c5503468c2 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/IdentifierUtil.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/IdentifierUtil.java
@@ -23,6 +23,7 @@ import org.springframework.lang.Nullable;
 import org.apache.causeway.applib.Identifier;
 import org.apache.causeway.applib.id.LogicalType;
 import org.apache.causeway.applib.services.command.Command;
+import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.io.TextUtils;
 import org.apache.causeway.core.metamodel.interactions.InteractionHead;
@@ -46,7 +47,7 @@ import lombok.experimental.UtilityClass;
 public class IdentifierUtil {
 
     public String targetClassNameFor(final ObjectSpecification spec) {
-        return TextUtils.asNaturalName(spec.getSingularName());
+        return _Strings.asNaturalName.apply(spec.getSingularName());
     }
 
     /**
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/NamedFacetFallbackFromMemberName.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/NamedFacetFallbackFromMemberName.java
index 79a3985490..9b3f7fd60f 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/NamedFacetFallbackFromMemberName.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/NamedFacetFallbackFromMemberName.java
@@ -18,7 +18,7 @@
  */
 package org.apache.causeway.core.metamodel.facets.fallback;
 
-import org.apache.causeway.commons.io.TextUtils;
+import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.causeway.core.metamodel.facets.all.named.MemberNamedFacetForStaticMemberName;
 
@@ -27,7 +27,7 @@ extends MemberNamedFacetForStaticMemberName {
 
     public NamedFacetFallbackFromMemberName(final FacetHolder holder) {
         super(
-                
TextUtils.asNaturalName(holder.getFeatureIdentifier().getMemberLogicalName()),
+                
_Strings.asNaturalName.apply(holder.getFeatureIdentifier().getMemberLogicalName()),
                 holder,
                 Precedence.FALLBACK);
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
index 92ce30da65..38efebc9b6 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
@@ -22,7 +22,7 @@ import java.util.regex.Pattern;
 
 import javax.inject.Inject;
 
-import org.apache.causeway.commons.io.TextUtils;
+import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.FacetUtil;
 import org.apache.causeway.core.metamodel.facetapi.FeatureType;
@@ -63,7 +63,7 @@ extends FacetFactoryAbstract {
             return;
         }
 
-        val naturalName = TextUtils.asNaturalName(parameterName);
+        val naturalName = _Strings.asNaturalName.apply(parameterName);
         val facetHolder = processParameterContext.getFacetHolder();
 
         FacetUtil.addFacet(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index a0f5d4e1c2..b11227a75a 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -39,7 +39,6 @@ import 
org.apache.causeway.commons.internal.collections._Lists;
 import org.apache.causeway.commons.internal.collections._Maps;
 import 
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
 import org.apache.causeway.commons.internal.reflection._Reflect;
-import org.apache.causeway.commons.io.TextUtils;
 import org.apache.causeway.core.config.beans.CausewayBeanMetaData;
 import org.apache.causeway.core.metamodel.commons.ToString;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
@@ -189,7 +188,7 @@ implements FacetHolder {
     private void addNamedFacetIfRequired() {
         if (getFacet(MemberNamedFacet.class) == null) {
             addFacet(new MemberNamedFacetForStaticMemberName(
-                    TextUtils.asNaturalName(getShortIdentifier()),
+                    _Strings.asNaturalName.apply(getShortIdentifier()),
                     this));
         }
     }

Reply via email to