*/
// overwrite will be surely true or the paramete is new
private void importParuse(Integer oldParameterId) throws EMFUserError {
logger.debug("IN");
// delete previous paruse!
SbiParuse paruse = null;
try {
//List exportedParuses = importer.getAllExportedSbi(sessionExpDB, "SbiParuse", null);
List exportedParuses = importer.getFilteredExportedSbiObjects(sessionExpDB, "SbiParuse", "sbiParameters", oldParameterId);
Iterator iterSbiParuses = exportedParuses.iterator();
while (iterSbiParuses.hasNext()) {
paruse = (SbiParuse) iterSbiParuses.next();
SbiParameters param = paruse.getSbiParameters();
// recover param and lov to insert into relationship
Integer oldParamId = param.getParId();
Map assParams = metaAss.getParameterIDAssociation();
Integer newParamId = (Integer) assParams.get(oldParamId);
if (newParamId != null) {
SbiParameters newParam = ImportUtilities.makeNewSbiParameter(param, newParamId);
paruse.setSbiParameters(newParam);
}
SbiLov lov = paruse.getSbiLov();
if (lov != null) {
Integer oldLovId = lov.getLovId();
Map assLovs = metaAss.getLovIDAssociation();
Integer newLovId = (Integer) assLovs.get(oldLovId);
if (newLovId != null) {
SbiLov newlov = ImportUtilities.makeNewSbiLov(lov, newLovId, null);
paruse.setSbiLov(newlov);
}
}
Integer oldId = paruse.getUseId();
Integer existingParUseId = null;
Map paruseIdAss = metaAss.getParuseIDAssociation();
Set paruseIdAssSet = paruseIdAss.keySet();
// should not contain
// if (paruseIdAssSet.contains(oldId)) {
// metaLog.log("Exported parameter use " + paruse.getName() + " not inserted"
// + " because it has the same label of an existing parameter use");
// continue;
// }
// else{
existingParUseId = (Integer) paruseIdAss.get(oldId);
// }
SbiParuse newParuse = ImportUtilities.makeNewSbiParuse(paruse);
sessionCurrDB.save(newParuse);
metaLog.log("Inserted new parameter use " + newParuse.getName() + " for param " + param.getName());
Integer newId = newParuse.getUseId();
sessionExpDB.evict(paruse);
metaAss.insertCoupleParuse(oldId, newId);
importParuseDet(oldId);
importParuseCheck(oldId);
}