diff options
author | Matthias Villiger | 2020-06-24 09:36:39 +0000 |
---|---|---|
committer | Matthias Villiger | 2020-06-24 09:36:39 +0000 |
commit | 45ba6267c192ca9c89a63c8ed0d37b23cdc1ff37 (patch) | |
tree | 82dac142fb8cf1f10bc749b35ba5d3befb51b694 | |
parent | 294956a1ce482a1c53b5fdb1576b0ce2164df71d (diff) | |
download | org.eclipse.scout.sdk-45ba6267c192ca9c89a63c8ed0d37b23cdc1ff37.tar.gz org.eclipse.scout.sdk-45ba6267c192ca9c89a63c8ed0d37b23cdc1ff37.tar.xz org.eclipse.scout.sdk-45ba6267c192ca9c89a63c8ed0d37b23cdc1ff37.zip |
Fix rare ClassCastException in DTO update
4 files changed, 16 insertions, 12 deletions
diff --git a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/AbstractDtoGenerator.java b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/AbstractDtoGenerator.java index 466e24fc3..f0b2ed927 100644 --- a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/AbstractDtoGenerator.java +++ b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/AbstractDtoGenerator.java @@ -432,8 +432,7 @@ public abstract class AbstractDtoGenerator<TYPE extends AbstractDtoGenerator<TYP @SuppressWarnings("squid:UnusedPrivateMethod") // used as method-reference private void addPropertyDto(PropertyBean desc) { String lowerCaseBeanName = Introspector.decapitalize(desc.name()); - CharSequence upperCaseBeanName = Strings.ensureStartWithUpperCase(desc.name()); - + String upperCaseBeanName = Strings.ensureStartWithUpperCase(desc.name()).toString(); String propName = upperCaseBeanName + ISdkProperties.SUFFIX_DTO_PROPERTY; String propDataType = desc.type().reference(); String propDataTypeBoxed = JavaTypes.boxPrimitive(propDataType); diff --git a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/CompositeFormDataGenerator.java b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/CompositeFormDataGenerator.java index 509e45790..c59701aac 100644 --- a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/CompositeFormDataGenerator.java +++ b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/CompositeFormDataGenerator.java @@ -106,7 +106,7 @@ public class CompositeFormDataGenerator<TYPE extends CompositeFormDataGenerator< // Scout RT requires the first char to be upper-case for a getter. // See org.eclipse.scout.rt.platform.reflect.FastBeanUtility.BEAN_METHOD_PAT. - CharSequence methodName = Strings.ensureStartWithUpperCase(formDataTypeName); + String methodName = Strings.ensureStartWithUpperCase(formDataTypeName).toString(); this .withType(dtoGenerator.withElementName(formDataTypeName), DtoMemberSortObjectFactory.forTypeFormDataFormField(formDataTypeName)) .withMethod(ScoutMethodGenerator.create() diff --git a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/DtoMemberSortObjectFactory.java b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/DtoMemberSortObjectFactory.java index 829e3c2d9..bef177300 100644 --- a/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/DtoMemberSortObjectFactory.java +++ b/org.eclipse.scout.sdk.core.s/src/main/java/org/eclipse/scout/sdk/core/s/dto/DtoMemberSortObjectFactory.java @@ -28,7 +28,7 @@ public final class DtoMemberSortObjectFactory { * The name of the property. E.g. "PersonNrProperty". * @return The sort order for the FormData Property getter */ - public static Object[] forMethodFormDataProperty(CharSequence propertyName) { + public static Object[] forMethodFormDataProperty(String propertyName) { return SortedMemberEntry.createDefaultMethodPos(propertyName, 20); } @@ -40,7 +40,7 @@ public final class DtoMemberSortObjectFactory { * The name of the property. E.g. "PersonNr". * @return The sort order for the FormData legacy Property getter and setter */ - public static Object[] forMethodFormDataPropertyLegacy(CharSequence propertyName) { + public static Object[] forMethodFormDataPropertyLegacy(String propertyName) { return forMethodFormDataFormField(propertyName); } @@ -52,7 +52,7 @@ public final class DtoMemberSortObjectFactory { * The name of the FormField. E.g. "LastName" without getter or setter prefix and without "Field" Suffix. * @return The sort order for the FormField getter */ - public static Object[] forMethodFormDataFormField(CharSequence name) { + public static Object[] forMethodFormDataFormField(String name) { return SortedMemberEntry.createDefaultMethodPos(name, 10); } @@ -60,10 +60,11 @@ public final class DtoMemberSortObjectFactory { * Creates a sort order object array for the methods in a AbstractTableFieldBeanData.<br> * (e.g. {@code addRow()} or {@code getRowType()}) * - * @param name The name of the method (e.g. "getRowType"). + * @param name + * The name of the method (e.g. "getRowType"). * @return The sort order for the TableFieldBeanData method */ - public static Object[] forMethodTableData(CharSequence name) { + public static Object[] forMethodTableData(String name) { return forMethodFormDataFormField(name); } @@ -75,7 +76,7 @@ public final class DtoMemberSortObjectFactory { * The name of the property. E.g. "PersonNrProperty". * @return The sort order for the FormData Property type */ - public static Object[] forTypeFormDataProperty(CharSequence propertyName) { + public static Object[] forTypeFormDataProperty(String propertyName) { return forTypeFormDataFormField(propertyName); } @@ -87,16 +88,18 @@ public final class DtoMemberSortObjectFactory { * The name of the FormField. E.g. "LastName" without "Field" Suffix. * @return The sort order for the FormField type */ - public static Object[] forTypeFormDataFormField(CharSequence name) { + public static Object[] forTypeFormDataFormField(String name) { return SortedMemberEntry.createDefaultTypePos(name); } /** * Creates a sort order object array for the AbstractTableRowData type within a AbstractTableFieldBeanData. - * @param name The name of the TableRowData type + * + * @param name + * The name of the TableRowData type * @return The sort order for the RowData type. */ - public static Object[] forTypeTableRowData(CharSequence name) { + public static Object[] forTypeTableRowData(String name) { return forTypeFormDataFormField(name); } } diff --git a/org.eclipse.scout.sdk.core.test/src/test/java/org/eclipse/scout/sdk/core/util/CompositeObjectTest.java b/org.eclipse.scout.sdk.core.test/src/test/java/org/eclipse/scout/sdk/core/util/CompositeObjectTest.java index a2b76eb0f..79b99ccb8 100644 --- a/org.eclipse.scout.sdk.core.test/src/test/java/org/eclipse/scout/sdk/core/util/CompositeObjectTest.java +++ b/org.eclipse.scout.sdk.core.test/src/test/java/org/eclipse/scout/sdk/core/util/CompositeObjectTest.java @@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test; * * @since 6.1.0 */ +@SuppressWarnings({"UnnecessaryBoxing", "SimplifiableJUnitAssertion", "ConstantConditions", "RedundantArrayCreation", "EqualsBetweenInconvertibleTypes", "EqualsWithItself"}) public class CompositeObjectTest { @Test @@ -70,6 +71,7 @@ public class CompositeObjectTest { } @Test + @SuppressWarnings("ResultOfMethodCallIgnored") public void testCompareTo() { CompositeObject o1 = new CompositeObject(1, 2, 3); CompositeObject o2 = new CompositeObject(1, 2, 3); |