diff --git a/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/Viesti.scala b/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/Viesti.scala index cf91a4fd..b0184e55 100644 --- a/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/Viesti.scala +++ b/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/Viesti.scala @@ -147,7 +147,7 @@ case class ViestiImpl( @(Schema @field)(allowableValues = Array(ViestiImpl.VIESTI_SISALTOTYYPPI_TEXT, ViestiImpl.VIESTI_SISALTOTYYPPI_HTML), requiredMode=RequiredMode.REQUIRED, example = "text") @BeanProperty sisallonTyyppi: Optional[String], - @(Schema @field)(description= "Järjestyksellä ei ole merkitystä", requiredMode=RequiredMode.REQUIRED, allowableValues = Array("fi", "sv", "en"), example = "[\"fi\", \"sv\"]") + @(Schema @field)(description= "Järjestyksellä ei ole merkitystä", allowableValues = Array("fi", "sv", "en"), example = "[\"fi\", \"sv\"]") @BeanProperty kielet: Optional[util.List[String]], @(Schema@field)(description = "Merkkijonot jotka peitetään kun viesti näytetään raportointirajapinnassa") diff --git a/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidator.scala b/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidator.scala index 0578d3b1..038fb92f 100644 --- a/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidator.scala +++ b/lahetysrajapinta/src/main/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidator.scala @@ -35,7 +35,6 @@ object ViestiValidator: final val VALIDATION_SISALLONTYYPPI = "sisallonTyyppi: Sisällön tyypin täytyy olla joko \"" + VIESTI_SISALTOTYYPPI_TEXT + "\" tai \"" + VIESTI_SISALTOTYYPPI_HTML + "\"" - final val VALIDATION_KIELET_TYHJA = "kielet: Kenttä on pakollinen" final val VALIDATION_KIELI_EI_SALLITTU = "kielet: Kieli ei ole sallittu (\"fi\", \"sv\" ja \"en\"): " final val VALIDATION_KIELI_NULL = "kielet: Kenttä sisältää null-arvoja" @@ -111,7 +110,8 @@ object ViestiValidator: final val SALLITUT_KIELET = Set("fi", "sv", "en") def validateKielet(kielet: Optional[List[String]]): Set[String] = - if(kielet.isEmpty || kielet.get.isEmpty) return Set(VALIDATION_KIELET_TYHJA) + if(kielet.isEmpty || kielet.get.isEmpty) + return Set.empty // validoidaan yksittäiset kielet var virheet: Set[String] = Set.empty diff --git a/lahetysrajapinta/src/test/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidatorTest.scala b/lahetysrajapinta/src/test/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidatorTest.scala index 5e857a4f..d0629472 100644 --- a/lahetysrajapinta/src/test/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidatorTest.scala +++ b/lahetysrajapinta/src/test/scala/fi/oph/viestinvalitys/vastaanotto/model/ViestiValidatorTest.scala @@ -49,15 +49,15 @@ class ViestiValidatorTest { } @Test def testValidateKielet(): Unit = { + // määrittelemätön kieli on sallittu + Assertions.assertEquals(Set.empty, ViestiValidator.validateKielet(Optional.empty())) + Assertions.assertEquals(Set.empty, ViestiValidator.validateKielet(Optional.of(util.List.of()))) + // lailliset kielet ovat sallittuja Assertions.assertEquals(Set.empty, ViestiValidator.validateKielet(Optional.of(util.List.of("fi", "sv")))) Assertions.assertEquals(Set.empty, ViestiValidator.validateKielet(Optional.of(util.List.of("sv", "fi")))) Assertions.assertEquals(Set.empty, ViestiValidator.validateKielet(Optional.of(util.List.of("en")))) - // määrittelemätön kieli ei ole sallittu - Assertions.assertEquals(Set(ViestiValidator.VALIDATION_KIELET_TYHJA), ViestiValidator.validateKielet(Optional.empty())) - Assertions.assertEquals(Set(ViestiValidator.VALIDATION_KIELET_TYHJA), ViestiValidator.validateKielet(Optional.of(util.List.of()))) - // ei validit kielit eivät sallittuja Assertions.assertEquals(Set(ViestiValidator.VALIDATION_KIELI_EI_SALLITTU + "de"), ViestiValidator.validateKielet(Optional.of(util.List.of("de")))) diff --git a/lambdat/vastaanotto/src/main/scala/fi/oph/viestinvalitys/vastaanotto/resource/ViestiResource.scala b/lambdat/vastaanotto/src/main/scala/fi/oph/viestinvalitys/vastaanotto/resource/ViestiResource.scala index 2280d92e..7891bfbd 100644 --- a/lambdat/vastaanotto/src/main/scala/fi/oph/viestinvalitys/vastaanotto/resource/ViestiResource.scala +++ b/lambdat/vastaanotto/src/main/scala/fi/oph/viestinvalitys/vastaanotto/resource/ViestiResource.scala @@ -126,7 +126,7 @@ class ViestiResource { otsikko = viesti.otsikko.get, sisalto = viesti.sisalto.get, sisallonTyyppi = SisallonTyyppi.valueOf(viesti.sisallonTyyppi.get.toUpperCase), - kielet = viesti.kielet.get.asScala.map(kieli => Kieli.valueOf(kieli.toUpperCase)).toSet, + kielet = viesti.kielet.map(kielet => kielet.asScala.map(kieli => Kieli.valueOf(kieli.toUpperCase)).toSet).orElse(Set.empty), maskit = viesti.maskit.map(maskit => maskit.asScala.map(maski => maski.getSalaisuus.get -> maski.getMaski.toScala).toMap).orElse(Map.empty), lahettavanVirkailijanOID = viesti.lahettavanVirkailijanOid.toScala, lahettaja = Kontakti(viesti.lahettaja.get.getNimi.toScala, viesti.lahettaja.get.getSahkopostiOsoite.get),