Skip to content

Commit 2fc76c7

Browse files
committed
Fix -F -T option combination
Change-Id: I1dd87e6b12118db44cac5c209d737a0d4fee63e1
1 parent abbf409 commit 2fc76c7

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1955,23 +1955,29 @@ class KorapXmlTool : Callable<Int> {
19551955
// Determine output zip label. Prefer combined label if both tagger and parser are active
19561956
var targetFoundry = "base"
19571957
val labelParts = mutableListOf<String>()
1958-
if (taggerName != null) {
1959-
val tagger = AnnotationToolBridgeFactory.getTagger(taggerName!!, taggerModel!!, LOGGER)
1960-
if (tagger != null) {
1961-
labelParts.add(tagger.foundry)
1958+
1959+
// Check if foundry override is set - if so, use it directly
1960+
if (foundryOverride != null) {
1961+
targetFoundry = foundryOverride!!
1962+
} else {
1963+
if (taggerName != null) {
1964+
val tagger = AnnotationToolBridgeFactory.getTagger(taggerName!!, taggerModel!!, LOGGER)
1965+
if (tagger != null) {
1966+
labelParts.add(tagger.foundry)
1967+
}
19621968
}
1963-
}
1964-
if (parserName != null) {
1965-
// Only add parser foundry if it's different from tagger foundry
1966-
if (taggerName == null || taggerName != parserName) {
1967-
labelParts.add(parserName!!)
1969+
if (parserName != null) {
1970+
// Only add parser foundry if it's different from tagger foundry
1971+
if (taggerName == null || taggerName != parserName) {
1972+
labelParts.add(parserName!!)
1973+
}
1974+
}
1975+
if (labelParts.isNotEmpty()) {
1976+
targetFoundry = labelParts.joinToString("-")
1977+
} else if (annotateWith.isNotEmpty()) {
1978+
targetFoundry = externalFoundry ?: detectFoundryFromAnnotateCmd(annotateWith)
1979+
LOGGER.info("Detected foundry '$targetFoundry' from annotation command: $annotateWith")
19681980
}
1969-
}
1970-
if (labelParts.isNotEmpty()) {
1971-
targetFoundry = labelParts.joinToString("-")
1972-
} else if (annotateWith.isNotEmpty()) {
1973-
targetFoundry = externalFoundry ?: detectFoundryFromAnnotateCmd(annotateWith)
1974-
LOGGER.info("Detected foundry '$targetFoundry' from annotation command: $annotateWith")
19751981
}
19761982
dbFactory = DocumentBuilderFactory.newInstance()
19771983
dBuilder = dbFactory!!.newDocumentBuilder()
@@ -2977,8 +2983,8 @@ class KorapXmlTool : Callable<Int> {
29772983
output.setLength(0)
29782984
} else {
29792985
// Direct ZIP output without external annotation: write morpho.xml and, if parser is active, dependency.xml
2980-
val morphoDir = taggerToolBridges[Thread.currentThread().threadId()]?.foundry ?: morphoFoundry
2981-
val depDir = parserName ?: morphoDir
2986+
val morphoDir = foundryOverride ?: (taggerToolBridges[Thread.currentThread().threadId()]?.foundry ?: morphoFoundry)
2987+
val depDir = foundryOverride ?: (parserName ?: morphoDir)
29822988
var wroteOne = false
29832989
// Always write morpho.xml if we have morpho annotations (tagger or from input)
29842990
if (morpho[docId] != null && morpho[docId]!!.isNotEmpty()) {

0 commit comments

Comments
 (0)