Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class CreateStudyReviewServiceImpl(

if(presenter.isDone()) return

val studyId = idGenerator.next()
val studyId = idGenerator.next(request.systematicStudyId)
val studyReview = StudyReview.fromStudyRequestModel(studyId, request)

studyReviewRepository.saveOrUpdate(studyReview.toDto())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class BibtexConverterService(private val studyReviewIdGeneratorService: IdGenera
}

fun convertToStudyReview(systematicStudyId: SystematicStudyId, searchSessionId: SearchSessionID, study: Study, source: MutableSet<String>): StudyReview {
val studyReviewId = StudyReviewId(studyReviewIdGeneratorService.next())
val studyReviewId = StudyReviewId(studyReviewIdGeneratorService.next(systematicStudyId.value()))
return StudyReview(
studyReviewId,
systematicStudyId,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package br.all.domain.services

import java.util.UUID

interface IdGeneratorService {
fun next() : Long
fun reset() : Any
fun next(reviewId: UUID): Long
fun reset(reviewId: UUID) : Any
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class RisConverterService(private val studyReviewIdGeneratorService: IdGenerator
}

fun convertToStudyReview(systematicStudyId: SystematicStudyId, searchSessionId: SearchSessionID, study: Study, source: MutableSet<String>): StudyReview {
val studyReviewId = StudyReviewId(studyReviewIdGeneratorService.next())
val studyReviewId = StudyReviewId(studyReviewIdGeneratorService.next(systematicStudyId.value()))

return StudyReview(
studyReviewId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ package br.all.infrastructure.study
import br.all.domain.services.IdGeneratorService
import br.all.infrastructure.shared.SequenceGeneratorService
import org.springframework.stereotype.Service
import java.util.UUID

@Service
class StudyReviewIdGeneratorService (private val sequenceGenerator : SequenceGeneratorService): IdGeneratorService {
override fun next() = sequenceGenerator.next(StudyReviewDocument.SEQUENCE_NAME)
override fun reset() = sequenceGenerator.reset(StudyReviewDocument.SEQUENCE_NAME)
override fun next(reviewId: UUID) = sequenceGenerator.next("${StudyReviewDocument.SEQUENCE_NAME}_$reviewId")
override fun reset(reviewId: UUID) = sequenceGenerator.reset("${StudyReviewDocument.SEQUENCE_NAME}_$reviewId")
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ class CreateStudyReviewServiceImplTest {
val request = factory.createRequestModel()

preconditionCheckerMocking.makeEverythingWork()
every { idGenerator.next() } returns studyReviewId
every { idGenerator.next(factory.systematicStudyId) } returns studyReviewId

sut.createFromStudy(presenter, request)

verify(exactly = 1) {
idGenerator.next()
idGenerator.next(factory.systematicStudyId)
studyReviewRepository.saveOrUpdate(any())
presenter.prepareSuccessView(any())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import br.all.domain.model.search.SearchSessionID
import br.all.domain.model.study.*
import br.all.domain.shared.exception.bibtex.BibtexParseException
import org.junit.jupiter.api.*
import java.util.*
import java.util.UUID.randomUUID
import kotlin.test.assertEquals
import kotlin.test.assertTrue

Expand All @@ -25,7 +25,7 @@ class BibtexConverterServiceTest {
@AfterEach
fun teardown() {
val fake = idGeneratorService as FakeIdGeneratorService
fake.reset()
fake.reset(randomUUID())
}

@Nested
Expand All @@ -35,8 +35,8 @@ class BibtexConverterServiceTest {
fun `Should create a StudyReview list from multiple bibtex entries as input`() {
val bibtex = BibtexTestData.testInputs["multiple bibtex entries"]!!
val studyReviewList = sut.convertManyToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
bibtex,
source = mutableSetOf("Compendex")
)
Expand All @@ -48,8 +48,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid article"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -83,8 +83,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid inproceedings"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -115,8 +115,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid techreport"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -147,8 +147,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid book"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -177,8 +177,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid proceedings"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -209,8 +209,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid phdthesis"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -239,8 +239,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid mastersthesis"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -269,8 +269,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid inbook"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -301,8 +301,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid booklet"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -331,8 +331,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid manual"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -361,8 +361,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid misc"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -391,8 +391,8 @@ class BibtexConverterServiceTest {
val bibtex = BibtexTestData.testInputs["valid unpublished"]!!
val study = sut.convert(bibtex)
val studyReview = sut.convertToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
study,
source = mutableSetOf("Compendex")
)
Expand Down Expand Up @@ -424,8 +424,8 @@ class BibtexConverterServiceTest {
fun `convertManyToStudyReview should not accept a blank bibtex entry as input`() {
assertThrows<IllegalArgumentException> {
sut.convertManyToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
"",
source = mutableSetOf("Compendex")
)
Expand All @@ -451,8 +451,8 @@ class BibtexConverterServiceTest {
fun `Should create a StudyReview list from multiple bibtex entries even when there are invalid entries`() {
val bibtex = BibtexTestData.testInputs["multiple bibtex entries with some invalid"]!!
val studyReviewList = sut.convertManyToStudyReview(
SystematicStudyId(UUID.randomUUID()),
SearchSessionID(UUID.randomUUID()),
SystematicStudyId(randomUUID()),
SearchSessionID(randomUUID()),
bibtex,
source = mutableSetOf("Compendex")
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
import java.util.*
import java.util.UUID.randomUUID
import kotlin.test.assertEquals

@Tag("IntegrationTest")
Expand All @@ -32,19 +32,19 @@ class ConverterFactoryServiceTest {

@AfterEach fun teardown() {
val fake = idGeneratorService as FakeIdGeneratorService
fake.reset()
fake.reset(randomUUID())
}

@Test fun `Should return study review successfully`() {
val bibtex = BibtexTestData.testInputs["multiple bibtex entries"]!!
val studyReviewList = sut.extractReferences(SystematicStudyId(UUID.randomUUID()), SearchSessionID(UUID.randomUUID()), bibtex, mutableSetOf("example source"))
val studyReviewList = sut.extractReferences(SystematicStudyId(randomUUID()), SearchSessionID(randomUUID()), bibtex, mutableSetOf("example source"))
assertEquals(7, studyReviewList.first.size)
}

@Test
fun `Should correctly identify a ris file`(){
val ris = risInput["multiple RIS entries"]!!
val studyReviewList = sut.extractReferences(SystematicStudyId(UUID.randomUUID()), SearchSessionID(UUID.randomUUID()),ris, mutableSetOf("example source"))
val studyReviewList = sut.extractReferences(SystematicStudyId(randomUUID()), SearchSessionID(randomUUID()),ris, mutableSetOf("example source"))
assertEquals(3, studyReviewList.first.size)
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package br.all.domain.services

import br.all.domain.services.IdGeneratorService
import java.util.UUID

object FakeIdGeneratorService : IdGeneratorService {
private var currentId = 1L
override fun next() = currentId++
override fun reset() = run { currentId = 1L }
override fun next(reviewId: UUID) = currentId++
override fun reset(reviewId: UUID) = run { currentId = 1L }
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.assertAll
import java.util.UUID
import java.util.UUID.randomUUID
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse
Expand All @@ -23,8 +23,8 @@ class ReviewSimilarityServiceTest {
private lateinit var levenshteinCalculator: LevenshteinSimilarityCalculatorImpl
private lateinit var converter: BibtexConverterService
private lateinit var idGeneratorService: IdGeneratorService
private val systematicStudyId = SystematicStudyId(UUID.randomUUID())
private val searchSessionId = SearchSessionID(UUID.randomUUID())
private val systematicStudyId = SystematicStudyId(randomUUID())
private val searchSessionId = SearchSessionID(randomUUID())
private val source = mutableSetOf("Test")
private val titleThreshold = 0.8
private val abstractThreshold = 0.8
Expand All @@ -41,7 +41,7 @@ class ReviewSimilarityServiceTest {
@AfterEach
fun teardown() {
val fake = idGeneratorService as FakeIdGeneratorService
fake.reset()
fake.reset(randomUUID())
}

@Test
Expand Down
Loading