Skip to content

Commit

Permalink
Remove ApiJobCodeV2
Browse files Browse the repository at this point in the history
  • Loading branch information
manuel-delvillar committed Jul 11, 2023
1 parent 344f2c4 commit ab69586
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 52 deletions.
59 changes: 17 additions & 42 deletions api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt
Original file line number Diff line number Diff line change
Expand Up @@ -111,63 +111,38 @@ data class JobCodeV2(
}

@JsonInclude(JsonInclude.Include.NON_EMPTY)
data class ApiJobCodeV2(
override val id: Long? = null,
override val code: String,
override val targetNode: String? = null,
override val targetNodeName: String? = null,
override val frameworkName: String? = null,
override val level: JobCodeLevel? = null,
override val parents: List<ApiJobCodeV2>? = null
): ApiJobCode(id, code, targetNode, targetNodeName, frameworkName, level, parents) {
class ApiJobCode(
var id: Long? = null,
val code: String,
val targetNode: String? = null,
val targetNodeName: String? = null,
val frameworkName: String? = null,
val level: JobCodeLevel? = null,
val parents: List<ApiJobCode>? = null,
var jobCodeLevelAsNumber: Int? = null,
) {
companion object factory {

fun fromApiJobCode(apiJobCode: ApiJobCode): ApiJobCodeV2 {
return ApiJobCodeV2(
code = apiJobCode.code,
targetNode = apiJobCode.targetNode,
targetNodeName = apiJobCode.targetNodeName,
frameworkName = apiJobCode.frameworkName,
level = apiJobCode.level,
parents = apiJobCode.parents?.map { fromApiJobCode(it) }
)
}

fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List<ApiJobCodeV2>? = null): ApiJobCodeV2 {
return ApiJobCodeV2(
fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List<ApiJobCode>? = null): ApiJobCode {
return ApiJobCode(
id = jobCode.id,
code = jobCode.code,
targetNodeName = jobCode.name,
targetNode = jobCode.url,
frameworkName = jobCode.framework,
level = level,
parents = parents
parents = parents,
jobCodeLevelAsNumber = jobCode.jobCodeLevelAsNumber
)
}
}
}

@JsonInclude(JsonInclude.Include.NON_EMPTY)
open class ApiJobCode(
open val id: Long? = null,
open val code: String,
open val targetNode: String? = null,
open val targetNodeName: String? = null,
open val frameworkName: String? = null,
open val level: JobCodeLevel? = null,
open val parents: List<ApiJobCode>? = null,
val jobCodeLevelAsNumber: Int? = null,
) {
companion object factory {
fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List<ApiJobCode>? = null): ApiJobCode {
fun fromJobCodeV2(jobCode: JobCode, level: JobCodeLevel? = null, parents: List<ApiJobCode>? = null): ApiJobCode {
return ApiJobCode(
id = jobCode.id,
code = jobCode.code,
targetNodeName = jobCode.name,
targetNode = jobCode.url,
frameworkName = jobCode.framework,
level = level,
parents = parents,
jobCodeLevelAsNumber = jobCode.jobCodeLevelAsNumber
parents = parents
)
}

Expand Down
11 changes: 9 additions & 2 deletions api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class ApiSkillSummaryV2(
categories = rsd.categories.mapNotNull { it.value },
category = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON),
keywords = rsd.keywords.mapNotNull { it.value },
occupations = rsd.jobCodes.map { ApiJobCodeV2.fromJobCode(it) }
occupations = rsd.jobCodes.map { ApiJobCode.fromJobCodeV2(it) }
)
}

Expand All @@ -53,7 +53,14 @@ class ApiSkillSummaryV2(
category = apiSkillSummary.categories.sorted().joinToString(SEMICOLON),
keywords = apiSkillSummary.keywords,
occupations = apiSkillSummary.occupations.map {
ApiJobCodeV2.fromApiJobCode(it)
ApiJobCode(
code = it.code,
targetNode = it.targetNode,
targetNodeName = it.targetNodeName,
frameworkName = it.frameworkName,
level = it.level,
parents = it.parents
)
}
)

Expand Down
12 changes: 6 additions & 6 deletions api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ class ApiSkillV2(
get() = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON)

@get:JsonProperty
override val occupations: List<ApiJobCodeV2>
override val occupations: List<ApiJobCode>
get() {
return rsd.jobCodes.filter { it.code.isNotBlank() }.map { jobCode ->
val parents = listOfNotNull(
jobCode.major.let {jobCode.majorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.major, level= JobCodeLevel.Major) }},
jobCode.minor.let{jobCode.minorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.minor, level= JobCodeLevel.Minor) }},
jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.broad, level= JobCodeLevel.Broad) }},
jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.detailed, level= JobCodeLevel.Detailed) }}
jobCode.major.let {jobCode.majorCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.major, level= JobCodeLevel.Major) }},
jobCode.minor.let{jobCode.minorCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.minor, level= JobCodeLevel.Minor) }},
jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.broad, level= JobCodeLevel.Broad) }},
jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.detailed, level= JobCodeLevel.Detailed) }}
).distinct()

ApiJobCodeV2.fromJobCode(jobCode, parents=parents)
ApiJobCode.fromJobCodeV2(jobCode, parents=parents)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import edu.wgu.osmt.PaginationDefaults
import edu.wgu.osmt.RoutePaths
import edu.wgu.osmt.api.GeneralApiException
import edu.wgu.osmt.api.model.ApiJobCode
import edu.wgu.osmt.api.model.ApiJobCodeV2
import edu.wgu.osmt.api.model.ApiNamedReference
import edu.wgu.osmt.api.model.ApiSearch
import edu.wgu.osmt.api.model.ApiSearchV2
Expand Down Expand Up @@ -285,7 +284,7 @@ class SearchController @Autowired constructor(
): HttpEntity<List<ApiJobCode>> {
val searchResults = jobCodeEsRepo.typeAheadSearch(query)

return ResponseEntity.status(200).body(searchResults.map { ApiJobCodeV2.fromJobCode(it.content) }.toList())
return ResponseEntity.status(200).body(searchResults.map { ApiJobCode.fromJobCodeV2(it.content) }.toList())
}

@GetMapping(path = [
Expand Down

0 comments on commit ab69586

Please sign in to comment.