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 7be767792c CAUSEWAY-3404: relocate natural name utils to TextUtils
7be767792c is described below

commit 7be767792c08b70b57893c8a07bd1fa4c920acb4
Author: Andi Huber <[email protected]>
AuthorDate: Thu May 11 15:27:24 2023 +0200

    CAUSEWAY-3404: relocate natural name utils to TextUtils
---
 .../causeway/commons/internal/base/_Strings.java   |  4 +-
 .../internal/base/_Strings_NaturalNames.java       |  2 +-
 .../org/apache/causeway/commons/io/TextUtils.java  | 11 ++++
 .../commons/internal/base/StringsTest.java         |  3 +-
 .../commons/util/StringSpecialFormsTest.java       | 28 ++++++-----
 .../core/metamodel/commons/StringExtensions.java   | 53 --------------------
 .../actions/action/invocation/IdentifierUtil.java  |  3 +-
 .../fallback/NamedFacetFallbackFromMemberName.java |  4 +-
 .../members/layout/group/GroupIdAndName.java       |  2 +-
 .../ParameterNameFacetFactoryUsingReflection.java  |  4 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  4 +-
 .../commons/StringUtils_NaturalNameTest.java       | 58 ----------------------
 .../commons/StringUtils_NaturalizeTest.java        | 48 ------------------
 .../ExceptionRecognizerForDataAccessException.java | 10 ++--
 .../applib/fixturescripts/FixtureScript.java       |  2 +-
 15 files changed, 44 insertions(+), 192 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 3515f520ef..a9e0a700aa 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
@@ -835,8 +835,8 @@ public final class _Strings {
     public static final StringOperator asNormalized = operator()
             .andThen(s->_Strings.condenseWhitespaces(s, " "));
 
-    public static final StringOperator asNaturalName2 = operator()
-            .andThen(s->_Strings_NaturalNames.naturalName2(s, true));
+    public static final StringOperator asNaturalName = operator()
+            .andThen(s->_Strings_NaturalNames.naturalName(s, true));
 
 
     public static final String asFileNameWithExtension(final @NonNull String 
fileName, final @NonNull String fileExtension) {
diff --git 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings_NaturalNames.java
 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings_NaturalNames.java
index c07b0b7285..86c1467449 100644
--- 
a/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings_NaturalNames.java
+++ 
b/commons/src/main/java/org/apache/causeway/commons/internal/base/_Strings_NaturalNames.java
@@ -39,7 +39,7 @@ class _Strings_NaturalNames {
      * @return
      *
      */
-    String naturalName2(@Nullable String name, final boolean 
handleNestedClassNames) {
+    String naturalName(@Nullable String name, final boolean 
handleNestedClassNames) {
 
         if(name==null)
             return null;
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 d78626e87d..6949c2c922 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,6 +208,17 @@ 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 386accc05d..84777878fd 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
@@ -328,10 +328,9 @@ class StringsTest {
     @Test
     void asNaturalName2() throws Exception {
         assertThat(
-                _Strings.asNaturalName2
+                _Strings.asNaturalName
                 .apply("NextAvailableDate"),
                 is("Next Available Date"));
     }
 
-
 }
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/NameUtilTest.java
 
b/commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
similarity index 55%
rename from 
core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/NameUtilTest.java
rename to 
commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
index f52afa396e..3ebb091fdd 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/NameUtilTest.java
+++ 
b/commons/src/test/java/org/apache/causeway/commons/util/StringSpecialFormsTest.java
@@ -16,43 +16,45 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.core.metamodel.commons;
+package org.apache.causeway.commons.util;
 
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-class NameUtilTest {
+import org.apache.causeway.commons.io.TextUtils;
+
+class StringSpecialFormsTest {
 
     @Test
     void naturalNameAddsSpacesToCamelCaseWords() {
-        assertEquals("Camel Case Word", 
StringExtensions.asNaturalName2("CamelCaseWord"));
+        assertEquals("Camel Case Word", 
TextUtils.asNaturalName("CamelCaseWord"));
     }
 
     @Test
     void naturalNameAddsSpacesBeforeNumbers() {
-        assertEquals("One 2 One", StringExtensions.asNaturalName2("One2One"));
-        assertEquals("Type 123", StringExtensions.asNaturalName2("Type123"));
-        assertEquals("4321 Go", StringExtensions.asNaturalName2("4321Go"));
+        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", StringExtensions.asNaturalName2("TNTPower"));
-        assertEquals("Spam RAM Can", 
StringExtensions.asNaturalName2("SpamRAMCan"));
-        assertEquals("DOB", StringExtensions.asNaturalName2("DOB"));
+        assertEquals("TNT Power", TextUtils.asNaturalName("TNTPower"));
+        assertEquals("Spam RAM Can", TextUtils.asNaturalName("SpamRAMCan"));
+        assertEquals("DOB", TextUtils.asNaturalName("DOB"));
     }
 
     @Test
     void naturalNameWithShortNames() {
-        assertEquals("At", StringExtensions.asNaturalName2("At"));
-        assertEquals("I", StringExtensions.asNaturalName2("I"));
+        assertEquals("At", TextUtils.asNaturalName("At"));
+        assertEquals("I", TextUtils.asNaturalName("I"));
     }
 
     @Test
     void naturalNameNoChange() {
-        assertEquals("Camel Case Word", 
StringExtensions.asNaturalName2("CamelCaseWord"));
-        assertEquals("Almost Normal english sentence", 
StringExtensions.asNaturalName2("Almost Normal english sentence"));
+        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/commons/StringExtensions.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/commons/StringExtensions.java
index 8f3b8af22e..5f9e9bc9d4 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/commons/StringExtensions.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/commons/StringExtensions.java
@@ -41,59 +41,6 @@ public final class StringExtensions {
     // naturalName, naturalize, simpleName, camel, memberIdFor
     // ////////////////////////////////////////////////////////////
 
-    /**
-     * 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 String asNaturalName2(final String name) {
-        return _Strings.asNaturalName2.apply(name);
-    }
-
-    public static String asNaturalName(final String extendee) {
-
-        int pos = 0;
-
-        // find first upper case character
-        while ((pos < extendee.length()) && 
Character.isLowerCase(extendee.charAt(pos))) {
-            pos++;
-        }
-
-        if (pos == extendee.length()) {
-            return "invalid name";
-        }
-        return naturalized(extendee, pos);
-    }
-
-    public static String asNaturalized(final String extendee) {
-        return naturalized(extendee, 0);
-    }
-
-    private static String naturalized(final String name, final int 
startingPosition) {
-        if (name.length() <= startingPosition) {
-            throw new IllegalArgumentException("string shorter than starting 
position provided");
-        }
-        final StringBuffer s = new StringBuffer(name.length() - 
startingPosition);
-        for (int j = startingPosition; j < name.length(); j++) { // process
-            // english name
-            // - add spaces
-            if ((j > startingPosition) && isStartOfNewWord(name.charAt(j), 
name.charAt(j - 1))) {
-                s.append(' ');
-            }
-            if (j == startingPosition) {
-                s.append(Character.toUpperCase(name.charAt(j)));
-            } else {
-                s.append(name.charAt(j));
-            }
-        }
-        final String str = s.toString();
-        return str;
-    }
-
-    private static boolean isStartOfNewWord(final char c, final char 
previousChar) {
-        return Character.isUpperCase(c) || Character.isDigit(c) && 
!Character.isDigit(previousChar);
-    }
-
     public static String asCamel(final String extendee) {
         final StringBuffer b = new StringBuffer(extendee.length());
         final StringTokenizer t = new StringTokenizer(extendee);
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 71f89d7d57..701a8823c9 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
@@ -25,7 +25,6 @@ import org.apache.causeway.applib.id.LogicalType;
 import org.apache.causeway.applib.services.command.Command;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.core.metamodel.commons.StringExtensions;
 import org.apache.causeway.core.metamodel.interactions.InteractionHead;
 import 
org.apache.causeway.core.metamodel.interactions.managed.ActionInteractionHead;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
@@ -47,7 +46,7 @@ import lombok.experimental.UtilityClass;
 public class IdentifierUtil {
 
     public String targetClassNameFor(final ObjectSpecification spec) {
-        return StringExtensions.asNaturalName2(spec.getSingularName());
+        return TextUtils.asNaturalName(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 fa001c169e..79a3985490 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.core.metamodel.commons.StringExtensions;
+import org.apache.causeway.commons.io.TextUtils;
 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(
-                
StringExtensions.asNaturalName2(holder.getFeatureIdentifier().getMemberLogicalName()),
+                
TextUtils.asNaturalName(holder.getFeatureIdentifier().getMemberLogicalName()),
                 holder,
                 Precedence.FALLBACK);
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
index 537808edcd..a35ccaab76 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
@@ -165,7 +165,7 @@ implements
      * @implNote could potentially be improved to work similar as the title 
service
      */
     private static @NonNull String inferNameFromId(final @NonNull String id) {
-        return _Strings.asNaturalName2.apply(id);
+        return _Strings.asNaturalName.apply(id);
     }
 
     /**
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 3971ab0266..92ce30da65 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.core.metamodel.commons.StringExtensions;
+import org.apache.causeway.commons.io.TextUtils;
 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 = StringExtensions.asNaturalName2(parameterName);
+        val naturalName = TextUtils.asNaturalName(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 ea280e6306..a0f5d4e1c2 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,8 +39,8 @@ 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.StringExtensions;
 import org.apache.causeway.core.metamodel.commons.ToString;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
@@ -189,7 +189,7 @@ implements FacetHolder {
     private void addNamedFacetIfRequired() {
         if (getFacet(MemberNamedFacet.class) == null) {
             addFacet(new MemberNamedFacetForStaticMemberName(
-                    StringExtensions.asNaturalName2(getShortIdentifier()),
+                    TextUtils.asNaturalName(getShortIdentifier()),
                     this));
         }
     }
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalNameTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalNameTest.java
deleted file mode 100644
index b516f18fa1..0000000000
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalNameTest.java
+++ /dev/null
@@ -1,58 +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.core.metamodel.commons;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-public class StringUtils_NaturalNameTest {
-
-    @Test
-    public void shouldCreateANaturalNameForABooleanPropertyAccessorName() {
-        assertThat(StringExtensions.asNaturalName("isOutOfStock"), is("Out Of 
Stock"));
-    }
-
-    @Test
-    public void 
shouldCreateANaturalNameForABooleanPropertyAccessorNameSingleWord() {
-        assertThat(StringExtensions.asNaturalName("isBlacklisted"), 
is("Blacklisted"));
-    }
-
-    @Test
-    public void shouldCreateANaturalNameForANonBooleanPropertyAccessorName() {
-        assertThat(StringExtensions.asNaturalName("getFirstName"), is("First 
Name"));
-    }
-
-    @Test
-    public void 
shouldCreateANaturalNameForANonBooleanPropertyAccessorNameSingleWord() {
-        assertThat(StringExtensions.asNaturalName("getAge"), is("Age"));
-    }
-
-    @Test
-    public void shouldCreateANaturalNameForAPropertyMutatorName() {
-        assertThat(StringExtensions.asNaturalName("setFirstName"), is("First 
Name"));
-    }
-
-    @Test
-    public void shouldCreateANaturalNameForAPropertyMutatorNameSingleWord() {
-        assertThat(StringExtensions.asNaturalName("setAge"), is("Age"));
-    }
-
-}
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalizeTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalizeTest.java
deleted file mode 100644
index 1bbe154310..0000000000
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/commons/StringUtils_NaturalizeTest.java
+++ /dev/null
@@ -1,48 +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.core.metamodel.commons;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-class StringUtils_NaturalizeTest {
-
-    @Test
-    public void shouldNaturalizeMultipleCamelCase() {
-        assertThat(StringExtensions.asNaturalized("thisIsACamelCasePhrase"), 
is("This Is A Camel Case Phrase"));
-    }
-
-    @Test
-    public void shouldNaturalizeMultiplePascalCase() {
-        assertThat(StringExtensions.asNaturalized("ThisIsAPascalCasePhrase"), 
is("This Is A Pascal Case Phrase"));
-    }
-
-    @Test
-    public void shouldNaturalizeSingleWordStartingWithLowerCase() {
-        assertThat(StringExtensions.asNaturalized("foo"), is("Foo"));
-    }
-
-    @Test
-    public void shouldNaturalizeSingleWordStartingWithUpperCase() {
-        assertThat(StringExtensions.asNaturalized("Foo"), is("Foo"));
-    }
-
-}
diff --git 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/recognizer/dae/ExceptionRecognizerForDataAccessException.java
 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/recognizer/dae/ExceptionRecognizerForDataAccessException.java
index 43969af032..97f50299e0 100644
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/recognizer/dae/ExceptionRecognizerForDataAccessException.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/recognizer/dae/ExceptionRecognizerForDataAccessException.java
@@ -61,13 +61,13 @@ implements ExceptionRecognizer {
     private final boolean disabled;
 
     @Inject
-    public ExceptionRecognizerForDataAccessException(CausewayConfiguration 
conf) {
+    public ExceptionRecognizerForDataAccessException(final 
CausewayConfiguration conf) {
         this.disabled = conf.getCore().getRuntimeServices()
               .getExceptionRecognizer().getDae().isDisable();
     }
 
     @Override
-    public Optional<Recognition> recognize(Throwable ex) {
+    public Optional<Recognition> recognize(final Throwable ex) {
         if(ex instanceof DataAccessException
                 && !isDisabled()) {
             return recognizeDae((DataAccessException)ex);
@@ -77,7 +77,7 @@ implements ExceptionRecognizer {
 
     // -- HELPER
 
-    private Optional<Recognition> recognizeDae(DataAccessException ex) {
+    private Optional<Recognition> recognizeDae(final DataAccessException ex) {
         if(ex instanceof ConcurrencyFailureException) {
             return recognitionOf(Category.CONCURRENCY, ex);
 
@@ -102,10 +102,10 @@ implements ExceptionRecognizer {
         return recognitionOf(Category.OTHER, ex);
     }
 
-    private Optional<Recognition> recognitionOf(Category category, 
DataAccessException ex) {
+    private Optional<Recognition> recognitionOf(final Category category, final 
DataAccessException ex) {
         val causeMessage = 
_Strings.nullToEmpty(ex.getMostSpecificCause().getMessage()).trim();
 
-        val exceptionFriendlyName = _Strings.asNaturalName2
+        val exceptionFriendlyName = _Strings.asNaturalName
                 .apply(ex.getClass().getSimpleName())
                 .toLowerCase();
 
diff --git 
a/testing/fixtures/applib/src/main/java/org/apache/causeway/testing/fixtures/applib/fixturescripts/FixtureScript.java
 
b/testing/fixtures/applib/src/main/java/org/apache/causeway/testing/fixtures/applib/fixturescripts/FixtureScript.java
index 455f0394e4..3cb9b843c2 100644
--- 
a/testing/fixtures/applib/src/main/java/org/apache/causeway/testing/fixtures/applib/fixturescripts/FixtureScript.java
+++ 
b/testing/fixtures/applib/src/main/java/org/apache/causeway/testing/fixtures/applib/fixturescripts/FixtureScript.java
@@ -101,7 +101,7 @@ public abstract class FixtureScript {
     }
 
     protected String friendlyNameElseDerived(final String str) {
-        return str != null ? str : 
_Strings.asNaturalName2.apply(getClass().getSimpleName());
+        return str != null ? str : 
_Strings.asNaturalName.apply(getClass().getSimpleName());
     }
 
 

Reply via email to