*
* @throws EMFUserError
*/
private void importModel(boolean overwrite) throws EMFUserError {
logger.debug("IN");
SbiKpiModel exportedModel = null;
try {
List exportedModels = importer.getAllExportedSbiObjects(sessionExpDB, "SbiKpiModel", null);
Iterator iterSbiModels = exportedModels.iterator();
while (iterSbiModels.hasNext()) {
exportedModel = (SbiKpiModel) iterSbiModels.next();
Integer oldId = exportedModel.getKpiModelId();
Integer existingModelId = null;
Map modelIdAss = metaAss.getModelIDAssociation();
Set modelIdAssSet = modelIdAss.keySet();
if (modelIdAssSet.contains(oldId) && !overwrite) {
metaLog.log("Exported model " + exportedModel.getKpiModelCd() + " not inserted"
+ " because it has the same code of an existing model");
continue;
} else {
existingModelId = (Integer) modelIdAss.get(oldId);
}
if (existingModelId != null) {
logger.info("The model with id:[" + exportedModel.getKpiModelId() + "] is just present. It will be updated.");
metaLog.log("The model with code = [" + exportedModel.getKpiModelCd() + "] will be updated.");
SbiKpiModel existingModel = ImportUtilities.modifyExistingSbiModel(exportedModel, sessionCurrDB, existingModelId, metaAss);
sessionCurrDB.update(existingModel);
} else {
SbiKpiModel newModel = ImportUtilities.makeNewSbiModel(exportedModel, sessionCurrDB, metaAss);
// TODO manca da associare il kpi con le entita
//ImportUtilities.associateWithExistingEntities(newPar, exportedParameter, sessionCurrDB, importer, metaAss);
sessionCurrDB.save(newModel);
metaLog.log("Inserted new model " + newModel.getKpiModelCd());
Integer newId = newModel.getKpiModelId();
metaAss.insertCoupleModel(oldId, newId);
}
importUdpValues(oldId, "Model", overwrite);
}
} catch (Exception e) {