Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
refactor(exceptions): Create sbt project "shared" and move exceptions (
…DEV-990) (#2075)

* create sbt project "shared" and move exceptions to this project

* remove unused method

* fix failing tests

* fix failing test

* restructure project and packages
  • Loading branch information
irinaschubert committed Jun 8, 2022
1 parent f3a66cb commit c09392d
Show file tree
Hide file tree
Showing 227 changed files with 497 additions and 529 deletions.
10 changes: 5 additions & 5 deletions build.sbt
Expand Up @@ -201,7 +201,7 @@ lazy val webapi: Project = Project(id = "webapi", base = file("webapi"))
),
buildInfoPackage := "org.knora.webapi.http.version"
)
.dependsOn(valueObjects)
.dependsOn(shared)

lazy val webapiJavaRunOptions = Seq(
// "-showversion",
Expand Down Expand Up @@ -284,10 +284,10 @@ lazy val schemaRepoSearchService = project
)
.dependsOn(schemaRepo)

lazy val valueObjects = project
.in(file("dsp-value-objects"))
lazy val shared = project
.in(file("dsp-shared"))
.settings(
name := "valueObjects",
libraryDependencies ++= Dependencies.valueObjectsLibraryDependencies,
name := "shared",
libraryDependencies ++= Dependencies.sharedLibraryDependencies,
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
)
Expand Up @@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/

package org.knora.webapi.exceptions
package dsp.errors

import akka.event.LoggingAdapter
import org.apache.commons.lang3.SerializationException
Expand Down
Expand Up @@ -6,6 +6,7 @@
package dsp.valueobjects

import zio.prelude.Validation
import dsp.errors.BadRequestException

object Group {

Expand All @@ -16,12 +17,12 @@ object Group {
object GroupName { self =>
def make(value: String): Validation[Throwable, GroupName] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(GroupErrorMessages.GroupNameMissing))
Validation.fail(BadRequestException(GroupErrorMessages.GroupNameMissing))
} else {
val validatedValue = Validation(
V2IriValidation.toSparqlEncodedString(
value,
throw V2.BadRequestException(GroupErrorMessages.GroupNameInvalid)
throw BadRequestException(GroupErrorMessages.GroupNameInvalid)
)
)

Expand All @@ -42,13 +43,13 @@ object Group {
object GroupDescriptions { self =>
def make(value: Seq[V2.StringLiteralV2]): Validation[Throwable, GroupDescriptions] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(GroupErrorMessages.GroupDescriptionsMissing))
Validation.fail(BadRequestException(GroupErrorMessages.GroupDescriptionsMissing))
} else {
val validatedDescriptions = Validation(value.map { description =>
val validatedDescription =
V2IriValidation.toSparqlEncodedString(
description.value,
throw V2.BadRequestException(GroupErrorMessages.GroupDescriptionsInvalid)
throw BadRequestException(GroupErrorMessages.GroupDescriptionsInvalid)
)
V2.StringLiteralV2(value = validatedDescription, language = description.language)
})
Expand Down
Expand Up @@ -6,6 +6,7 @@
package dsp.valueobjects

import zio.prelude.Validation
import dsp.errors.BadRequestException

sealed trait Iri
object Iri {
Expand All @@ -17,17 +18,17 @@ object Iri {
object GroupIri { self =>
def make(value: String): Validation[Throwable, GroupIri] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(IriErrorMessages.GroupIriMissing))
Validation.fail(BadRequestException(IriErrorMessages.GroupIriMissing))
} else {
val isUuid: Boolean = V2UuidValidation.hasUuidLength(value.split("/").last)

if (!V2IriValidation.isKnoraGroupIriStr(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.GroupIriInvalid))
Validation.fail(BadRequestException(IriErrorMessages.GroupIriInvalid))
} else if (isUuid && !V2UuidValidation.isUuidVersion4Or5(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.UuidVersionInvalid))
Validation.fail(BadRequestException(IriErrorMessages.UuidVersionInvalid))
} else {
val validatedValue = Validation(
V2IriValidation.validateAndEscapeIri(value, throw V2.BadRequestException(IriErrorMessages.GroupIriInvalid))
V2IriValidation.validateAndEscapeIri(value, throw BadRequestException(IriErrorMessages.GroupIriInvalid))
)

validatedValue.map(new GroupIri(_) {})
Expand All @@ -48,19 +49,19 @@ object Iri {
object ListIri { self =>
def make(value: String): Validation[Throwable, ListIri] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(IriErrorMessages.ListIriMissing))
Validation.fail(BadRequestException(IriErrorMessages.ListIriMissing))
} else {
val isUuid: Boolean = V2UuidValidation.hasUuidLength(value.split("/").last)

if (!V2IriValidation.isKnoraListIriStr(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.ListIriInvalid))
Validation.fail(BadRequestException(IriErrorMessages.ListIriInvalid))
} else if (isUuid && !V2UuidValidation.isUuidVersion4Or5(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.UuidVersionInvalid))
Validation.fail(BadRequestException(IriErrorMessages.UuidVersionInvalid))
} else {
val validatedValue = Validation(
V2IriValidation.validateAndEscapeIri(
value,
throw V2.BadRequestException(IriErrorMessages.ListIriInvalid)
throw BadRequestException(IriErrorMessages.ListIriInvalid)
)
)

Expand All @@ -82,19 +83,19 @@ object Iri {
object ProjectIri { self =>
def make(value: String): Validation[Throwable, ProjectIri] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(IriErrorMessages.ProjectIriMissing))
Validation.fail(BadRequestException(IriErrorMessages.ProjectIriMissing))
} else {
val isUuid: Boolean = V2UuidValidation.hasUuidLength(value.split("/").last)

if (!V2IriValidation.isKnoraProjectIriStr(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.ProjectIriInvalid))
Validation.fail(BadRequestException(IriErrorMessages.ProjectIriInvalid))
} else if (isUuid && !V2UuidValidation.isUuidVersion4Or5(value)) {
Validation.fail(V2.BadRequestException(IriErrorMessages.UuidVersionInvalid))
Validation.fail(BadRequestException(IriErrorMessages.UuidVersionInvalid))
} else {
val validatedValue = Validation(
V2IriValidation.validateAndEscapeProjectIri(
value,
throw V2.BadRequestException(IriErrorMessages.ProjectIriInvalid)
throw BadRequestException(IriErrorMessages.ProjectIriInvalid)
)
)

Expand All @@ -116,19 +117,19 @@ object Iri {
object UserIri { self =>
def make(value: String): Validation[Throwable, UserIri] =
if (value.isEmpty) {
Validation.fail(V2.BadRequestException(IriErrorMessages.UserIriMissing))
Validation.fail(BadRequestException(IriErrorMessages.UserIriMissing))
} else {
val isUuid: Boolean = V2UuidValidation.hasUuidLength(value.split("/").last)