INNER CODE UNIT · Kotlin
writeXml
streetcomplete/StreetComplete · buildSrc/src/main/java/DownloadAndConvertPresetIconsTask.kt:172
private fun writeXml(xml: Document, targetFile: File) {
FileOutputStream(targetFile).use { output ->
val transformer = TransformerFactory.newInstance().newTransformer()
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes")
transformer.setOutputProperty(OutputKeys.INDENT, "yes")
val source = DOMSource(xml)
val result = StreamResult(output)
transformer.transform(source, result)
}
}
private fun getIconNames(version: String): Set<String> {
val presetsUrl = URI("https://raw.githubusercontent.com/openstreetmap/id-tagging-schema/$version/dist/presets.json").toURL()
val presetsJson = Parser.default().parse(presetsUrl.openStream()) as JsonObject
val icons = HashSet<String>()
for (value in presetsJson.values) {
val preset = value as? JsonObject ?: continue
val icon = preset["icon"] as? String ?: continue