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));
}
}