Skip to content

Commit

Permalink
refactor: merge or move UUID related methods (DEV-2192) (#2697)
Browse files Browse the repository at this point in the history
  • Loading branch information
mpro7 committed Jun 8, 2023
1 parent 135da99 commit 93f7088
Show file tree
Hide file tree
Showing 53 changed files with 458 additions and 612 deletions.
Expand Up @@ -19,7 +19,7 @@ import java.util.UUID
import scala.concurrent.Await
import scala.concurrent.duration._
import dsp.errors.AssertionException
import dsp.valueobjects.Iri
import dsp.valueobjects.{Iri, UuidUtil}
import org.knora.webapi._
import org.knora.webapi.e2e.ClientTestDataCollector
import org.knora.webapi.e2e.TestDataFileContent
Expand Down Expand Up @@ -801,7 +801,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
valueType should ===(OntologyConstants.KnoraApiV2Complex.IntValue.toSmartIri)
integerValueUUID = responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)

val savedValue: JsonLDObject = getValue(
Expand Down Expand Up @@ -3333,7 +3333,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
valueType should ===(OntologyConstants.KnoraApiV2Complex.LinkValue.toSmartIri)
linkValueUUID = responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)

val savedValue: JsonLDObject = getValue(
Expand Down Expand Up @@ -3462,7 +3462,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
val newIntegerValueUUID: UUID =
responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)
assert(newIntegerValueUUID == integerValueUUID) // The new version should have the same UUID.

Expand Down Expand Up @@ -5030,7 +5030,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
val newLinkValueUUID: UUID =
responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)
assert(newLinkValueUUID != linkValueUUID)
linkValueUUID = newLinkValueUUID
Expand Down Expand Up @@ -5101,7 +5101,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
val newLinkValueUUID: UUID =
responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)
assert(newLinkValueUUID == linkValueUUID)

Expand Down Expand Up @@ -5152,7 +5152,7 @@ class ValuesRouteV2E2ESpec extends E2ESpec {
val newLinkValueUUID: UUID =
responseJsonDoc.body.requireStringWithValidation(
OntologyConstants.KnoraApiV2Complex.ValueHasUUID,
stringFormatter.validateBase64EncodedUuid
UuidUtil.validateBase64EncodedUuid
)
assert(newLinkValueUUID == linkValueUUID)

Expand Down
Expand Up @@ -23,7 +23,6 @@ import scala.concurrent.duration._
import org.knora.webapi._
import org.knora.webapi.e2e.v2.ResponseCheckerV2.compareJSONLDForMappingCreationResponse
import org.knora.webapi.messages.OntologyConstants
import org.knora.webapi.messages.StringFormatter
import org.knora.webapi.messages.store.sipimessages.SipiUploadResponseJsonProtocol._
import org.knora.webapi.messages.store.sipimessages._
import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject
Expand Down
Expand Up @@ -6,7 +6,6 @@
package org.knora.webapi.messages

import java.time.Instant
import java.util.UUID
import dsp.errors.AssertionException
import dsp.valueobjects.Iri
import org.knora.webapi._
Expand Down Expand Up @@ -1013,29 +1012,5 @@ class StringFormatterSpec extends CoreSpec {
stringFormatter.validateEmail("donald.duck@example.com") should be(Some("donald.duck@example.com"))
assert(stringFormatter.validateEmail("donald.duck").isEmpty)
}

"convert a UUID to Base-64 encoding and back again" in {
val uuid = UUID.randomUUID
val base64EncodedUuid = stringFormatter.base64EncodeUuid(uuid)
val base64DecodedUuid = stringFormatter.base64DecodeUuid(base64EncodedUuid)
assert(base64DecodedUuid.toOption.contains(uuid))
}

"return TRUE for IRIs BEOL project IRI and other which contain UUID version 4 or 5, otherwise return FALSE" in {
val iri3 = "http://rdfh.ch/0000/rKAU0FNjPUKWqOT8MEW_UQ"
val iri4 = "http://rdfh.ch/0001/cmfk1DMHRBiR4-_6HXpEFA"
val iri5 = "http://rdfh.ch/080C/Ef9heHjPWDS7dMR_gGax2Q"
val beolIri = "http://rdfh.ch/projects/yTerZGyxjZVqFMNNKXCDPF"

val testIRIFromVersion3UUID = stringFormatter.isUuidSupported(iri3)
val testIRIFromVersion4UUID = stringFormatter.isUuidSupported(iri4)
val testIRIFromVersion5UUID = stringFormatter.isUuidSupported(iri5)
val testBeolIri = stringFormatter.isUuidSupported(beolIri)

testIRIFromVersion3UUID should be(false)
testIRIFromVersion4UUID should be(true)
testIRIFromVersion5UUID should be(true)
testBeolIri should be(true)
}
}
}
Expand Up @@ -5,8 +5,9 @@

package org.knora.webapi.messages.util

import java.time.Instant
import dsp.valueobjects.UuidUtil

import java.time.Instant
import org.knora.webapi.InternalSchema
import org.knora.webapi.messages.IriConversions._
import org.knora.webapi.messages.StringFormatter
Expand Down Expand Up @@ -46,7 +47,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2019-11-29T10:00:00.673298Z"),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("F2xCr0S2QfWRQxJDWY9L0g"),
valueHasUUID = UuidUtil.decode("F2xCr0S2QfWRQxJDWY9L0g"),
userPermission = ChangeRightsPermission,
deletionInfo = None
),
Expand All @@ -61,7 +62,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2019-11-29T10:00:00.673298Z"),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("yVTqO37cRkCSvXbFc3vTyw"),
valueHasUUID = UuidUtil.decode("yVTqO37cRkCSvXbFc3vTyw"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -140,7 +141,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2020-04-07T09:12:56.710717Z"),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("UgSp5mXTTSKdI02ZU1KIAA"),
valueHasUUID = UuidUtil.decode("UgSp5mXTTSKdI02ZU1KIAA"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -157,7 +158,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2020-04-07T09:12:56.710717Z"),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("U1PwfNaVRQebbOSFWNdMqQ"),
valueHasUUID = UuidUtil.decode("U1PwfNaVRQebbOSFWNdMqQ"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -196,7 +197,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2020-04-07T09:12:56.710717Z"),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("U1PwfNaVRQebbOSFWNdMqQ"),
valueHasUUID = UuidUtil.decode("U1PwfNaVRQebbOSFWNdMqQ"),
userPermission = ViewPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -230,7 +231,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
StandoffTagV2(
endParentIndex = None,
originalXMLID = None,
uuid = stringFormatter.decodeUuid("2e136103-2a4b-4e59-ac8f-79a53f54b496"),
uuid = UuidUtil.decode("2e136103-2a4b-4e59-ac8f-79a53f54b496"),
endPosition = 45,
startParentIndex = None,
attributes = Nil,
Expand All @@ -243,7 +244,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
StandoffTagV2(
endParentIndex = None,
originalXMLID = None,
uuid = stringFormatter.decodeUuid("80133696-26a1-4941-967b-6bf210d7d5e1"),
uuid = UuidUtil.decode("80133696-26a1-4941-967b-6bf210d7d5e1"),
endPosition = 19,
startParentIndex = Some(0),
attributes = Vector(
Expand Down Expand Up @@ -274,7 +275,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = Some(1),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("1"),
valueHasUUID = UuidUtil.decode("1"),
userPermission = ChangeRightsPermission,
deletionInfo = None
),
Expand All @@ -284,7 +285,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
StandoffTagV2(
endParentIndex = None,
originalXMLID = None,
uuid = stringFormatter.decodeUuid("fd583868-2a3c-4941-a330-990f5a972f71"),
uuid = UuidUtil.decode("fd583868-2a3c-4941-a330-990f5a972f71"),
endPosition = 25,
startParentIndex = None,
attributes = Nil,
Expand All @@ -297,7 +298,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
StandoffTagV2(
endParentIndex = None,
originalXMLID = None,
uuid = stringFormatter.decodeUuid("59a36237-95a9-4acc-8361-7c8fac311063"),
uuid = UuidUtil.decode("59a36237-95a9-4acc-8361-7c8fac311063"),
endPosition = 16,
startParentIndex = Some(0),
attributes = Vector(
Expand Down Expand Up @@ -328,7 +329,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = Some(1),
attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("2"),
valueHasUUID = UuidUtil.decode("2"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -364,7 +365,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:54Z"),
attachedToUser = "http://www.knora.org/ontology/knora-admin#SystemUser",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("0"),
valueHasUUID = UuidUtil.decode("0"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -427,7 +428,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = None,
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("d9a522845006"),
valueHasUUID = UuidUtil.decode("d9a522845006"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -446,7 +447,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:23Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
valueHasUUID = UuidUtil.decode("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -464,7 +465,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:23Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("fae17f4f6106"),
valueHasUUID = UuidUtil.decode("fae17f4f6106"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -520,7 +521,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = None,
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("c3295339"),
valueHasUUID = UuidUtil.decode("c3295339"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -539,7 +540,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:10Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("25c5e9fd-2cb2-4350-88bb-882be3373745"),
valueHasUUID = UuidUtil.decode("25c5e9fd-2cb2-4350-88bb-882be3373745"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -557,7 +558,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:10Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("53feeaf80a"),
valueHasUUID = UuidUtil.decode("53feeaf80a"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -600,7 +601,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = None,
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("c3295339"),
valueHasUUID = UuidUtil.decode("c3295339"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -642,7 +643,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:10Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("25c5e9fd-2cb2-4350-88bb-882be3373745"),
valueHasUUID = UuidUtil.decode("25c5e9fd-2cb2-4350-88bb-882be3373745"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -660,7 +661,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:10Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("53feeaf80a"),
valueHasUUID = UuidUtil.decode("53feeaf80a"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -679,7 +680,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:10Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("25c5e9fd-2cb2-4350-88bb-882be3373745"),
valueHasUUID = UuidUtil.decode("25c5e9fd-2cb2-4350-88bb-882be3373745"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -715,7 +716,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueHasMaxStandoffStartIndex = None,
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("d9a522845006"),
valueHasUUID = UuidUtil.decode("d9a522845006"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down Expand Up @@ -757,7 +758,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:23Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
valueHasUUID = UuidUtil.decode("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -775,7 +776,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:23Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("fae17f4f6106"),
valueHasUUID = UuidUtil.decode("fae17f4f6106"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand All @@ -794,7 +795,7 @@ class ConstructResponseUtilV2SpecFullData(implicit stringFormatter: StringFormat
valueCreationDate = Instant.parse("2016-03-02T15:05:23Z"),
attachedToUser = "http://rdfh.ch/users/91e19f1e01",
previousValueIri = None,
valueHasUUID = stringFormatter.decodeUuid("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
valueHasUUID = UuidUtil.decode("bbd4d6a9-8b73-4670-b0cd-e851cd0a7c5d"),
userPermission = ChangeRightsPermission,
deletionInfo = None
)
Expand Down

0 comments on commit 93f7088

Please sign in to comment.