/*
* bis auf die Autoren alle additionals in die Metadaten übernehmen
*/
if (!field.getMetadata().equals("ListOfCreators")) {
MetadataType mdt = this.ughHelper.getMetadataType(this.prozessKopie.getRegelsatz().getPreferences(), field.getMetadata());
Metadata md = this.ughHelper.getMetadata(myTempStruct, mdt);
if (md != null) {
md.setValue(field.getWert());
}
/*
* wenn dem Topstruct und dem Firstchild der Wert gegeben werden soll
*/
if (myTempChild != null) {
md = this.ughHelper.getMetadata(myTempChild, mdt);
if (md != null) {
md.setValue(field.getWert());
}
}
}
} catch (Exception e) {
Helper.setFehlerMeldung(e);
}
} // end if ughbinding
}// end for
/*
* -------------------------------- Collectionen hinzufügen --------------------------------
*/
DocStruct colStruct = this.myRdf.getDigitalDocument().getLogicalDocStruct();
try {
addCollections(colStruct);
/* falls ein erstes Kind vorhanden ist, sind die Collectionen dafür */
colStruct = colStruct.getAllChildren().get(0);
addCollections(colStruct);
} catch (RuntimeException e) {
/*
* das Firstchild unterhalb des Topstructs konnte nicht ermittelt werden
*/
}
/*
* -------------------------------- Imagepfad hinzufügen (evtl. vorhandene zunächst löschen) --------------------------------
*/
try {
MetadataType mdt = this.ughHelper.getMetadataType(this.prozessKopie, "pathimagefiles");
List<? extends Metadata> alleImagepfade = this.myRdf.getDigitalDocument().getPhysicalDocStruct().getAllMetadataByType(mdt);
if (alleImagepfade != null && alleImagepfade.size() > 0) {
for (Metadata md : alleImagepfade) {
this.myRdf.getDigitalDocument().getPhysicalDocStruct().getAllMetadata().remove(md);
}
}
Metadata newmd = new Metadata(mdt);
if (SystemUtils.IS_OS_WINDOWS) {
newmd.setValue("file:/" + this.prozessKopie.getImagesDirectory() + this.prozessKopie.getTitel().trim() + DIRECTORY_SUFFIX);
} else {
newmd.setValue("file://" + this.prozessKopie.getImagesDirectory() + this.prozessKopie.getTitel().trim() + DIRECTORY_SUFFIX);
}
this.myRdf.getDigitalDocument().getPhysicalDocStruct().addMetadata(newmd);
/* Rdf-File schreiben */
this.prozessKopie.writeMetadataFile(this.myRdf);