Skip to content
Snippets Groups Projects

Resolve "gemischte deutsch/englische Titel"

Merged Jesper Zedlitz requested to merge 25-gemischte-deutsch-englische-titel into main
3 files
+ 28
1
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -39,6 +39,8 @@ import java.util.stream.Collectors;
public class MDMetadata2Dataset {
private static final String LANGUAGE_DE = "de";
private static final String LANGUAGE_EN = "en";
private static final Logger log = LoggerFactory.getLogger(MDMetadata2Dataset.class);
private static final String XPATH_OPERATION_GET_CAPABILITIES = "gmd:identificationInfo/*/srv:containsOperations/srv:SV_OperationMetadata[srv:operationName/gco:CharacterString/text()='GetCapabilities']";
static IRIFactory factory = IRIFactory.iriImplementation();
@@ -663,7 +665,16 @@ public class MDMetadata2Dataset {
final String title = getTextOrNull(metadata.selectSingleNode("gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString"));
if (title != null) {
dataset.addLiteral(DCTerms.title, model.createLiteral(title.trim(), LANGUAGE_DE));
if( title.contains("#locale-eng:")) {
// In some source systems, German and English titles are strangely combined in one text.
String germanTitle = StringUtils.substringBefore(title, "#locale-eng:");
String englishTitle = StringUtils.substringAfter(title, "#locale-eng:");
dataset.addLiteral(DCTerms.title, model.createLiteral(germanTitle.trim(), LANGUAGE_DE));
dataset.addLiteral(DCTerms.title, model.createLiteral(englishTitle.trim(), LANGUAGE_EN));
} else {
dataset.addLiteral(DCTerms.title, model.createLiteral(title.trim(), LANGUAGE_DE));
}
}
final String description = getTextOrNull(metadata.selectSingleNode("gmd:identificationInfo/*/gmd:abstract/gco:CharacterString"));
Loading