X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fsharedontology%2Fwizard%2FModelImporter.java;fp=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fsharedontology%2Fwizard%2FModelImporter.java;h=91660a4925667396d8b5240ad56951f50ec5d74b;hb=d331e06e5825b124d5a76b1fdc1b45bbb5506407;hp=e7707dd407a8d4978aa8c54716ba5f1fe6604363;hpb=04220731a0cac3fe6fe2c3375a73d698e11d476f;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sharedontology/wizard/ModelImporter.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sharedontology/wizard/ModelImporter.java index e7707dd40..91660a492 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sharedontology/wizard/ModelImporter.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/sharedontology/wizard/ModelImporter.java @@ -68,29 +68,32 @@ public class ModelImporter { state.setProperty(MigrationStateKeys.MODEL_FILE, modelFile); state.setProperty(MigrationStateKeys.SESSION, session); state.setProperty(MigrationStateKeys.PROGRESS_MONITOR, monitor); - - if (includeDependencies) { - try { - ModelDependenciesBean libraryDependenciesBean = ModelDependenciesBean.fromMigrationState(state); - if (libraryDependenciesBean != null) { - for (ModelDependency dependency : libraryDependenciesBean.dependencies) { - Resource existing = session.sync(new PossibleResource(dependency.uri)); - boolean isExternalEntity = existing != null && session.syncRequest(new IsExternalEntity(existing)); - if (existing == null || isExternalEntity) { - MigrationUtils.importSharedOntology(session, dependency.tg, false); - } - } - } - } catch (AdaptException e) { - Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not read model dependencies bean.", e)); - } + try { + if (includeDependencies) { + try { + ModelDependenciesBean libraryDependenciesBean = ModelDependenciesBean.fromMigrationState(state); + if (libraryDependenciesBean != null) { + for (ModelDependency dependency : libraryDependenciesBean.dependencies) { + Resource existing = session.sync(new PossibleResource(dependency.uri)); + boolean isExternalEntity = existing != null && session.syncRequest(new IsExternalEntity(existing)); + if (existing == null || isExternalEntity) { + MigrationUtils.importSharedOntology(session, dependency.tg, false); + } + } + } + } catch (AdaptException e) { + Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not read model dependencies bean.", e)); + } + } + + MigrationUtils.importMigrated(monitor, session, modelFile, state, new DefaultPasteImportAdvisor(target), target); + + Collection resultRoots = state.getProperty(MigrationStateKeys.CURRENT_ROOT_RESOURCES); + ImportResult result = state.getProperty(MigrationStateKeys.IMPORT_RESULT); + return new MigratedImportResult(resultRoots, result); + } finally { + state.dispose(); } - - MigrationUtils.importMigrated(monitor, session, modelFile, state, new DefaultPasteImportAdvisor(target), target); - - Collection resultRoots = state.getProperty(MigrationStateKeys.CURRENT_ROOT_RESOURCES); - ImportResult result = state.getProperty(MigrationStateKeys.IMPORT_RESULT); - return new MigratedImportResult(resultRoots, result); } };