* @throws EMFUserError
*/
private void importObjMetadata(boolean overwrite) throws EMFUserError {
logger.debug("IN");
SbiObjMetadata exportedObjMetadata = null;
try {
List exportedDS = importer.getAllExportedSbiObjects(sessionExpDB, "SbiObjMetadata", null);
Iterator iterSbiObjMetadata = exportedDS.iterator();
while (iterSbiObjMetadata.hasNext()) {
exportedObjMetadata = (SbiObjMetadata) iterSbiObjMetadata.next();
Integer oldId = new Integer(exportedObjMetadata.getObjMetaId());
Integer existingMetadataId= null;
Map metadataIdAss = metaAss.getObjMetadataIDAssociation();
Set metadataIdAssSet = metadataIdAss.keySet();
if (metadataIdAssSet.contains(oldId) && !overwrite) {
metaLog.log("Exported objMetadata " + exportedObjMetadata.getLabel() + " not inserted"
+ " because exist objMetadata with the same label ");
continue;
} else {
existingMetadataId = (Integer) metadataIdAss.get(oldId);
}
if (existingMetadataId != null) {
logger.info("The objMetadata with label:[" + exportedObjMetadata.getLabel() + "] is just present. It will be updated.");
metaLog.log("The objMetadata with label = [" + exportedObjMetadata.getLabel() + "] will be updated.");
SbiObjMetadata existingObjMetadata = ImportUtilities.modifyExistingSbiObjMetadata(exportedObjMetadata, sessionCurrDB, existingMetadataId, metaAss,importer);
sessionCurrDB.update(existingObjMetadata);
} else {
SbiObjMetadata newObjM= ImportUtilities.makeNewSbiObjMetadata(exportedObjMetadata, sessionCurrDB, metaAss, importer);
sessionCurrDB.save(newObjM);
metaLog.log("Inserted new ObjectMetadata " + newObjM.getLabel());
Integer newId = new Integer(newObjM.getObjMetaId());
metaAss.insertCoupleObjMetadataIDAssociation(oldId, newId);
}
}
} catch (Exception e) {
if (exportedObjMetadata != null) {