]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/ModelDependenciesBean.java
Still minor cleanup for generic model import/export code
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / util / ModelDependenciesBean.java
index 8b8e86b52adcbc2e24a932d9f7bd57fbf774490a..afeba2fb9d298b7c42183dd41cdcae7ed9ee40bd 100644 (file)
@@ -1,5 +1,6 @@
 package org.simantics.db.layer0.util;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
@@ -46,7 +47,7 @@ public class ModelDependenciesBean {
                collectDependencies(graph, resource, order, new HashSet<>());
                return order;
        }
-       
+
        private static void collectDependencies(ReadGraph graph, Resource resource, LinkedList<Resource> order, Set<Resource> visited) throws DatabaseException {
                Layer0 L0 = Layer0.getInstance(graph);
                for(Resource library : graph.syncRequest(new ObjectsWithType(resource, L0.IsLinkedTo, L0.SharedOntology))) {
@@ -57,12 +58,12 @@ public class ModelDependenciesBean {
                        order.addFirst(library);
                }
        }
-       
+
        private static List<ModelDependency> collectModelDependencies(ReadGraph graph, Resource resource) throws DatabaseException {
                List<Resource> order = collectDependencies(graph, resource);
                Collections.reverse(order);
 
-               List<ModelDependency> modelDependencies = new LinkedList<>();
+               List<ModelDependency> modelDependencies = new ArrayList<>(order.size());
 
                for (Resource library : order) {
                        String uri = graph.getPossibleURI(library);
@@ -78,27 +79,17 @@ public class ModelDependenciesBean {
                        }
                }
                return modelDependencies;
-
        }
 
        public static ModelDependenciesBean create(ReadGraph graph, Resource resource) throws DatabaseException {
-
                List<ModelDependency> dependencies = collectModelDependencies(graph, resource);
                return new ModelDependenciesBean(dependencies.toArray(new ModelDependency[dependencies.size()]));
-
        }
 
-       public static ModelDependenciesBean fromMigrationState(MigrationState state) throws DatabaseException {
+       public static ModelDependenciesBean fromMigrationState(MigrationState state) throws DatabaseException, AdaptException {
                Map<String,Variant> extensions = state.getProperty(MigrationStateKeys.TG_EXTENSIONS);
                final Variant variant = extensions.get(ModelDependenciesBean.EXTENSION_KEY);
-               if (variant != null) {
-                       try {
-                               return (ModelDependenciesBean) variant.getValue(ModelDependenciesBean.BINDING);
-                       } catch (AdaptException e) {
-                               e.printStackTrace();
-                       }
-               }
-               return null;
-       }       
-       
+               return variant != null ? (ModelDependenciesBean) variant.getValue(ModelDependenciesBean.BINDING) : null;
+       }
+
 }