metsObj.setObjId(mets.getOBJID());
metsObj.setMetsId(mets.getID());
DmdSec[] dmdSecs = mets.getDmdSec();
DmdSec fullLinkDmd = null;
Map<String, DescriptiveMetadata> dmdMap = new HashMap<String, DescriptiveMetadata>();
for (int i = 0; i < dmdSecs.length; i++) {
if ("dmdSec_fullRecordLink".equals(dmdSecs[i].getID())) {
fullLinkDmd = dmdSecs[i];
} else {
if (dmdSecs[i].getMdWrap().getXmlData().getAnyObjectCount() == 1) {
AnyNode anyNode = (AnyNode) dmdSecs[i].getMdWrap().getXmlData()
.getAnyObject(0);
int type = dmdSecs[i].getMdWrap().getMDTYPE().getType();
DescriptiveMetadata dmd = new DescriptiveMetadata(anyNode, type);
String id = dmdSecs[i].getID();
dmdMap.put(id, dmd);
}
}
}
metsObj.setDmdMap(dmdMap);
if (fullLinkDmd != null) {
metsObj.setLinkBackUrl((String) fullLinkDmd.getMdRef().getHref());
}
StructMap[] maps = mets.getStructMap();
// Always build the physicalStrcut first