]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/browsing/ImportNode.java
Changing L0.ConsistsOf to Interop.HasImportData
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / browsing / ImportNode.java
1 package org.simantics.interop.browsing;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 import java.util.List;\r
6 \r
7 import org.eclipse.jface.resource.ImageDescriptor;\r
8 import org.eclipse.jface.viewers.ISelection;\r
9 import org.simantics.browsing.ui.content.Labeler.Modifier;\r
10 import org.simantics.db.Builtins;\r
11 import org.simantics.db.ReadGraph;\r
12 import org.simantics.db.Resource;\r
13 import org.simantics.db.Session;\r
14 import org.simantics.db.WriteGraph;\r
15 import org.simantics.db.exception.DatabaseException;\r
16 import org.simantics.interop.Activator;\r
17 import org.simantics.interop.stubs.InteropResource;\r
18 import org.simantics.layer0.Layer0;\r
19 import org.simantics.modeling.ui.modelBrowser.model.INode;\r
20 \r
21 public class ImportNode implements INode {\r
22         \r
23         //private Resource project;\r
24         private Resource model;\r
25         \r
26         public ImportNode(Resource project) {\r
27                 this.model = project;\r
28         }\r
29         \r
30         @Override\r
31         public Object getAdapter(Class adapter) {\r
32                 return null;\r
33         }\r
34         \r
35         @Override\r
36         public int getCategory(ReadGraph graph) throws DatabaseException {\r
37                 return 0;\r
38         }\r
39         \r
40         \r
41         @Override\r
42         public ImageDescriptor getImage(ReadGraph graph) throws DatabaseException {\r
43                 return Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/silk/database_connect.png");\r
44         }\r
45         \r
46         @Override\r
47         public String getLabel(ReadGraph graph) throws DatabaseException {\r
48                 return "Imports";\r
49         }\r
50         \r
51         @Override\r
52         public Modifier getModifier(Session session, String columnId) {\r
53                 // TODO Auto-generated method stub\r
54                 return null;\r
55         }\r
56         \r
57         @Override\r
58         public void handleDelete(WriteGraph graph) throws DatabaseException {\r
59                 // TODO Auto-generated method stub\r
60                 \r
61         }\r
62         \r
63         @Override\r
64         public void handleDrop(Session session, ISelection selection) {\r
65                 // TODO Auto-generated method stub\r
66                 \r
67         }\r
68         \r
69         @Override\r
70         public boolean hasChildren(ReadGraph graph) throws DatabaseException {\r
71                 return getChildren(graph).size() > 0;\r
72         }\r
73         \r
74         @Override\r
75         public Collection<?> getChildren(ReadGraph graph) throws DatabaseException {\r
76                 List<INode> nodes = new ArrayList<INode>();\r
77                 Layer0 l0 = Layer0.getInstance(graph);\r
78                 InteropResource i = InteropResource.getInstance(graph);\r
79 //              Collection<Resource> models = graph.getObjects(project, b.ConsistsOf);\r
80 //              for (Resource m : models) {\r
81 //                      Collection<Resource> objs = graph.getObjects(m, b.ConsistsOf);\r
82 //                      for (Resource o : objs) {\r
83 //                              if (graph.isInstanceOf(o, i.ImportLibrary)) {\r
84 //                                      INode node = graph.adapt(o, INode.class);\r
85 //                                      nodes.add(node);\r
86 //                              }\r
87 //                      }\r
88 //              }\r
89                 //Collection<Resource> objs = graph.getObjects(model, b.ConsistsOf);\r
90                 Collection<Resource> objs = graph.getObjects(model, i.HasImportData);\r
91                 for (Resource o : objs) {\r
92                         if (graph.isInstanceOf(o, i.ImportLibrary)) {\r
93                                 INode node = graph.adapt(o, INode.class);\r
94                                 nodes.add(node);\r
95                         }\r
96                 }\r
97                 return nodes;\r
98                 \r
99 //              ComosResource c = ComosResource.getInstance(graph);\r
100 //              Collection<Resource> models = graph.getObjects(project, b.ConsistsOf);\r
101 //              Collection<ComosGraphNode> comosImports = new ArrayList<ComosGraphNode>();\r
102 //              for (Resource m : models) {\r
103 //                      Collection<Resource> objs = graph.getObjects(m, b.ConsistsOf);\r
104 //                      for (Resource o : objs) {\r
105 //                              if (graph.isInstanceOf(o, c.ComosImportLibrary)) {\r
106 //                                      String icon_db_path = ComosGraphTools.getIconPath(o, graph);\r
107 //                                      if (icon_db_path == null)\r
108 //                                              continue;\r
109 //                                      ComosIconReader iconReader = new ComosIconReader(icon_db_path);\r
110 //                                      comosImports.add(new ComosGraphNode(o, iconReader));\r
111 //                              }\r
112 //                      }\r
113 //              }\r
114 //              return comosImports;\r
115         }\r
116         \r
117 \r
118 }\r