Skip to content

Commit f41e481

Browse files
committed
DotNet/NuGet: Move the commonly used XML mapper to DotNetSupport
Note that we cannot use our xmlMapper intended for writing / reading OrtResults here as it uses the wrong property naming strategy. Signed-off-by: Sebastian Schuberth <sebastian.schuberth@here.com>
1 parent 0695e1a commit f41e481

File tree

5 files changed

+12
-20
lines changed

5 files changed

+12
-20
lines changed

analyzer/src/funTest/kotlin/DotNetTest.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package com.here.ort.analyzer
2222

23+
import com.fasterxml.jackson.module.kotlin.readValue
24+
2325
import com.here.ort.analyzer.managers.DotNet
2426
import com.here.ort.downloader.VersionControlSystem
2527
import com.here.ort.model.yamlMapper
@@ -35,10 +37,6 @@ import io.kotlintest.shouldBe
3537
import io.kotlintest.shouldNotBe
3638
import io.kotlintest.specs.StringSpec
3739

38-
import com.fasterxml.jackson.dataformat.xml.XmlMapper
39-
import com.fasterxml.jackson.module.kotlin.readValue
40-
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
41-
4240
import java.io.File
4341

4442
class DotNetTest : StringSpec() {
@@ -68,8 +66,7 @@ class DotNetTest : StringSpec() {
6866
}
6967

7068
"Definition File is correctly mapped" {
71-
val mapper = XmlMapper().registerKotlinModule()
72-
val result = mapper.readValue<List<DotNet.Companion.ItemGroup>>(packageFile)
69+
val result = DotNetSupport.mapper.readValue<List<DotNet.Companion.ItemGroup>>(packageFile)
7370

7471
result shouldNotBe null
7572
result.size shouldBe 4

analyzer/src/funTest/kotlin/NuGetTest.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020

2121
package com.here.ort.analyzer
2222

23-
import com.fasterxml.jackson.dataformat.xml.XmlMapper
2423
import com.fasterxml.jackson.module.kotlin.readValue
25-
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
2624

2725
import com.here.ort.analyzer.managers.NuGet
2826
import com.here.ort.downloader.VersionControlSystem
@@ -68,8 +66,7 @@ class NuGetTest : StringSpec() {
6866
}
6967

7068
"Definition File is correctly mapped" {
71-
val mapper = XmlMapper().registerKotlinModule()
72-
val result: NuGet.Companion.Packages = mapper.readValue(packageFile)
69+
val result = DotNetSupport.mapper.readValue<NuGet.Companion.PackagesConfig>(packageFile)
7370

7471
result shouldNotBe null
7572
result.packages shouldNotBe null

analyzer/src/main/kotlin/DotNetSupport.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
package com.here.ort.analyzer
2222

2323
import com.fasterxml.jackson.databind.JsonNode
24+
import com.fasterxml.jackson.dataformat.xml.XmlMapper
2425
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
26+
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
2527

2628
import com.here.ort.model.HashAlgorithm
2729
import com.here.ort.model.Identifier
@@ -35,12 +37,12 @@ import com.here.ort.model.xmlMapper
3537
import com.here.ort.utils.OkHttpClientHelper
3638
import com.here.ort.utils.textValueOrEmpty
3739

38-
import okhttp3.Request
39-
4040
import java.io.File
4141
import java.io.IOException
4242
import java.net.HttpURLConnection
4343

44+
import okhttp3.Request
45+
4446
class DotNetSupport(
4547
packageReferencesMap: Map<String, String>,
4648
val workingDir: File
@@ -113,6 +115,8 @@ class DotNetSupport(
113115
.replace(")", "")
114116
return rangeReplaces.split(",").elementAt(0)
115117
}
118+
119+
val mapper = XmlMapper().registerKotlinModule()
116120
}
117121

118122
val packages = mutableListOf<Package>()

analyzer/src/main/kotlin/managers/DotNet.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ package com.here.ort.analyzer.managers
2222

2323
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
2424
import com.fasterxml.jackson.annotation.JsonProperty
25-
import com.fasterxml.jackson.dataformat.xml.XmlMapper
2625
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper
2726
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty
2827
import com.fasterxml.jackson.module.kotlin.readValue
29-
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
3028

3129
import com.here.ort.analyzer.AbstractPackageManagerFactory
3230
import com.here.ort.analyzer.DotNetSupport
@@ -54,8 +52,7 @@ class DotNet(
5452
companion object {
5553
fun mapPackageReferences(definitionFile: File): Map<String, String> {
5654
val map = mutableMapOf<String, String>()
57-
val mapper = XmlMapper().registerKotlinModule()
58-
val itemGroups: List<ItemGroup> = mapper.readValue(definitionFile)
55+
val itemGroups = DotNetSupport.mapper.readValue<List<ItemGroup>>(definitionFile)
5956

6057
itemGroups.forEach { itemGroup ->
6158
itemGroup.packageReference?.forEach {

analyzer/src/main/kotlin/managers/NuGet.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ package com.here.ort.analyzer.managers
2222

2323
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
2424
import com.fasterxml.jackson.annotation.JsonProperty
25-
import com.fasterxml.jackson.dataformat.xml.XmlMapper
2625
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper
2726
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty
2827
import com.fasterxml.jackson.module.kotlin.readValue
29-
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
3028

3129
import com.here.ort.analyzer.AbstractPackageManagerFactory
3230
import com.here.ort.analyzer.DotNetSupport
@@ -54,8 +52,7 @@ class NuGet(
5452
companion object {
5553
fun mapPackageReferences(definitionFile: File): Map<String, String> {
5654
val map = mutableMapOf<String, String>()
57-
val mapper = XmlMapper().registerKotlinModule()
58-
val packagesConfig: PackagesConfig = mapper.readValue(definitionFile)
55+
val packagesConfig = DotNetSupport.mapper.readValue<PackagesConfig>(definitionFile)
5956

6057
packagesConfig.packages?.forEach {
6158
map[it.id] = it.version

0 commit comments

Comments
 (0)