1 package org.simantics.graph.db;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
6 import org.simantics.db.Resource;
\r
7 import org.simantics.graph.representation.Root;
\r
9 abstract public class AbstractImportAdvisor2 implements IImportAdvisor2 {
\r
11 private Collection<RootInfo> rootInfo = new ArrayList<RootInfo>();
\r
13 public Collection<Resource> getRoots() {
\r
14 ArrayList<Resource> result = new ArrayList<Resource>(rootInfo.size());
\r
15 for(RootInfo info : rootInfo) result.add(info.resource);
\r
20 public void redirect(Resource temp) {
\r
24 public Collection<RootInfo> getRootInfo() {
\r
28 public Resource getRoot() {
\r
29 if(rootInfo.size() == 1) return rootInfo.iterator().next().resource;
\r
30 else throw new IllegalStateException("Expected a single root, got " + rootInfo.size() + " roots.");
\r
33 protected void addRootInfo(Root root, String name, Resource resource) {
\r
34 rootInfo.add(new RootInfo(root, name, resource));
\r
37 public Resource getRoot(String name) {
\r
38 for(RootInfo info : getRootInfo())
\r
39 if(info.name.equals(name)) return info.resource;
\r