* -------------------------------- wenn Filegroups definiert wurden, werden diese jetzt in die Metsstruktur übernommen
* --------------------------------
*/
// Replace all paths with the given VariableReplacer, also the file
// group paths!
VariableReplacerWithoutHibernate vp = new VariableReplacerWithoutHibernate(mm.getDigitalDocument(), this.myPrefs, process, null);
List<ProjectFileGroup> myFilegroups = ProjectManager.getFilegroupsForProjectId(this.project.getId());
if (myFilegroups != null && myFilegroups.size() > 0) {
for (ProjectFileGroup pfg : myFilegroups) {
// check if source files exists
if (pfg.getFolder() != null && pfg.getFolder().length() > 0) {
File folder = new File(this.fi.getMethodFromName(pfg.getFolder()));
if (folder != null && folder.exists() && folder.list().length > 0) {
VirtualFileGroup v = new VirtualFileGroup();
v.setName(pfg.getName());
v.setPathToFiles(vp.replace(pfg.getPath()));
v.setMimetype(pfg.getMimetype());
v.setFileSuffix(pfg.getSuffix());
mm.getDigitalDocument().getFileSet().addVirtualFileGroup(v);
}
} else {
VirtualFileGroup v = new VirtualFileGroup();
v.setName(pfg.getName());
v.setPathToFiles(vp.replace(pfg.getPath()));
v.setMimetype(pfg.getMimetype());
v.setFileSuffix(pfg.getSuffix());
mm.getDigitalDocument().getFileSet().addVirtualFileGroup(v);
}
}
}
// Replace rights and digiprov entries.
mm.setRightsOwner(vp.replace(this.project.getMetsRightsOwner()));
mm.setRightsOwnerLogo(vp.replace(this.project.getMetsRightsOwnerLogo()));
mm.setRightsOwnerSiteURL(vp.replace(this.project.getMetsRightsOwnerSite()));
mm.setRightsOwnerContact(vp.replace(this.project.getMetsRightsOwnerMail()));
mm.setDigiprovPresentation(vp.replace(this.project.getMetsDigiprovPresentation()));
mm.setDigiprovReference(vp.replace(this.project.getMetsDigiprovReference()));
mm.setDigiprovPresentationAnchor(vp.replace(this.project.getMetsDigiprovPresentationAnchor()));
mm.setDigiprovReferenceAnchor(vp.replace(this.project.getMetsDigiprovReferenceAnchor()));
mm.setPurlUrl(vp.replace(this.project.getMetsPurl()));
mm.setContentIDs(vp.replace(this.project.getMetsContentIDs()));
String pointer = this.project.getMetsPointerPath();
pointer = vp.replace(pointer);
mm.setMptrUrl(pointer);
String anchor = this.project.getMetsPointerPathAnchor();
pointer = vp.replace(anchor);
mm.setMptrAnchorUrl(pointer);
List<String> images = new ArrayList<String>();
try {
// TODO andere Dateigruppen nicht mit image Namen ersetzen