From 3431d30b0c5311018f6eec79dd942c83f68e05d0 Mon Sep 17 00:00:00 2001 From: Pere Fernandez Date: Mon, 4 Jun 2018 10:26:20 +0200 Subject: [PATCH] JBPM-6913: New Instances in RadioGroups, ListBoxes and Multiple Subforms are missing the required annotation. --- .../selectors/CharacterSelectorOption.java | 14 ++++- .../selectors/DecimalSelectorOption.java | 14 ++++- .../selectors/IntegerSelectorOption.java | 14 ++++- .../fieldTypes/relations/TableColumnMeta.java | 5 +- .../selectors/AbstractSelectorOptionTest.java | 35 +++++++++--- .../relations/TableColumnMetaTest.java | 53 +++++++++++++++++++ 6 files changed, 120 insertions(+), 15 deletions(-) create mode 100644 kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMetaTest.java diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/CharacterSelectorOption.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/CharacterSelectorOption.java index 4901b8ae03f..9374c4a2d82 100644 --- a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/CharacterSelectorOption.java +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/CharacterSelectorOption.java @@ -16,6 +16,9 @@ package org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.selectors; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.NotEmpty; import org.jboss.errai.common.client.api.annotations.MapsTo; import org.jboss.errai.common.client.api.annotations.Portable; import org.jboss.errai.databinding.client.api.Bindable; @@ -34,13 +37,20 @@ ) public class CharacterSelectorOption implements SelectorOption { - @FormField(labelKey = "value") + @FormField( + labelKey = "value", + required = true + ) + @NotNull private Character value; @FormField( labelKey = "text", - afterElement = "value" + afterElement = "value", + required = true ) + @NotEmpty + @NotNull private String text; public CharacterSelectorOption() { diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/DecimalSelectorOption.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/DecimalSelectorOption.java index 06261bc822c..b45f48ac5a6 100644 --- a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/DecimalSelectorOption.java +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/DecimalSelectorOption.java @@ -16,6 +16,9 @@ package org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.selectors; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.NotEmpty; import org.jboss.errai.common.client.api.annotations.MapsTo; import org.jboss.errai.common.client.api.annotations.Portable; import org.jboss.errai.databinding.client.api.Bindable; @@ -34,13 +37,20 @@ ) public class DecimalSelectorOption implements SelectorOption { - @FormField(labelKey = "value") + @FormField( + labelKey = "value", + required = true + ) + @NotNull private Double value; @FormField( labelKey = "text", - afterElement = "value" + afterElement = "value", + required = true ) + @NotEmpty + @NotNull private String text; public DecimalSelectorOption() { diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/IntegerSelectorOption.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/IntegerSelectorOption.java index 5f9d8ae656f..c182e0bfc8b 100644 --- a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/IntegerSelectorOption.java +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/IntegerSelectorOption.java @@ -16,6 +16,9 @@ package org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.selectors; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.NotEmpty; import org.jboss.errai.common.client.api.annotations.MapsTo; import org.jboss.errai.common.client.api.annotations.Portable; import org.jboss.errai.databinding.client.api.Bindable; @@ -34,13 +37,20 @@ ) public class IntegerSelectorOption implements SelectorOption { - @FormField(labelKey = "value") + @FormField( + labelKey = "value", + required = true + ) + @NotNull private Long value; @FormField( labelKey = "text", - afterElement = "value" + afterElement = "value", + required = true ) + @NotEmpty + @NotNull private String text; public IntegerSelectorOption() { diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMeta.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMeta.java index f7be2db9e62..32dc6d25863 100644 --- a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMeta.java +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/main/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMeta.java @@ -40,8 +40,11 @@ public class TableColumnMeta { @FormField( - labelKey = "label" + labelKey = "label", + required = true ) + @NotEmpty + @NotNull private String label; @FormField( diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/AbstractSelectorOptionTest.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/AbstractSelectorOptionTest.java index c27a74b2f43..5d1eed2bf3c 100644 --- a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/AbstractSelectorOptionTest.java +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/basic/selectors/AbstractSelectorOptionTest.java @@ -16,12 +16,18 @@ package org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.selectors; +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; + +import org.assertj.core.api.Assertions; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -47,13 +53,6 @@ public void init() { option = newSelectorOption(valueA, LABEL_A); } - @Test - public void testDefaultConstructor() { - option = new IntegerSelectorOption(); - assertNull(option.getText()); - assertNull(option.getValue()); - } - @Test public void testGetValue() { assertSame(valueA, option.getValue()); @@ -91,4 +90,24 @@ private void testEquals(TYPE valueA, String textA, TYPE valueB, String textB, bo assertTrue(anOption.equals(other) == shouldBeEqual); assertEquals(anOption.hashCode() == other.hashCode(), shouldBeEqual); } + + @Test + public void testValidateOption() { + + final Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); + + SelectorOption emptyOption = newSelectorOption(null, null); + + Set> violations = validator.validate(emptyOption); + + Assertions.assertThat(violations) + .isNotNull() + .isNotEmpty(); + + violations = validator.validate(option); + + Assertions.assertThat(violations) + .isNotNull() + .isEmpty(); + } } diff --git a/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMetaTest.java b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMetaTest.java new file mode 100644 index 00000000000..5f238f04f09 --- /dev/null +++ b/kie-wb-common-forms/kie-wb-common-forms-core/kie-wb-common-forms-fields/src/test/java/org/kie/workbench/common/forms/fields/shared/fieldTypes/relations/TableColumnMetaTest.java @@ -0,0 +1,53 @@ +/* + * Copyright 2018 Red Hat, Inc. and/or its affiliates. + * + * Licensed 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.kie.workbench.common.forms.fields.shared.fieldTypes.relations; + +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; + +import org.assertj.core.api.Assertions; +import org.junit.Test; + +public class TableColumnMetaTest { + + private static final String COLUMN = "column"; + + @Test + public void testValidate() { + final Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); + + TableColumnMeta emptyColumnMeta = new TableColumnMeta(); + + Set> violations = validator.validate(emptyColumnMeta); + + Assertions.assertThat(violations) + .isNotNull() + .isNotEmpty(); + + + TableColumnMeta columnMeta = new TableColumnMeta(COLUMN, COLUMN); + + violations = validator.validate(columnMeta); + + Assertions.assertThat(violations) + .isNotNull() + .isEmpty(); + } +}