]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/browsing/ImportNode.java
Removed os.modelling.ui.modelBrowser.model.INode dependency.
[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.ReadGraph;\r
11 import org.simantics.db.Resource;\r
12 import org.simantics.db.Session;\r
13 import org.simantics.db.WriteGraph;\r
14 import org.simantics.db.exception.DatabaseException;\r
15 import org.simantics.interop.Activator;\r
16 import org.simantics.interop.stubs.InteropResource;\r
17 \r
18 public class ImportNode implements INode {\r
19         \r
20         //private Resource project;\r
21         private Resource model;\r
22         \r
23         public ImportNode(Resource project) {\r
24                 this.model = project;\r
25         }\r
26         \r
27         @SuppressWarnings("rawtypes")\r
28         @Override\r
29         public Object getAdapter(Class adapter) {\r
30                 return null;\r
31         }\r
32         \r
33         @Override\r
34         public int getCategory(ReadGraph graph) throws DatabaseException {\r
35                 return 0;\r
36         }\r
37         \r
38         \r
39         @Override\r
40         public ImageDescriptor getImage(ReadGraph graph) throws DatabaseException {\r
41                 return Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/silk/database_connect.png");\r
42         }\r
43         \r
44         @Override\r
45         public String getLabel(ReadGraph graph) throws DatabaseException {\r
46                 return "Imports";\r
47         }\r
48         \r
49         @Override\r
50         public Modifier getModifier(Session session, String columnId) {\r
51                 // TODO Auto-generated method stub\r
52                 return null;\r
53         }\r
54         \r
55         @Override\r
56         public void handleDelete(WriteGraph graph) throws DatabaseException {\r
57                 // TODO Auto-generated method stub\r
58                 \r
59         }\r
60         \r
61         @Override\r
62         public void handleDrop(Session session, ISelection selection) {\r
63                 // TODO Auto-generated method stub\r
64                 \r
65         }\r
66         \r
67         @Override\r
68         public boolean hasChildren(ReadGraph graph) throws DatabaseException {\r
69                 return getChildren(graph).size() > 0;\r
70         }\r
71         \r
72         @Override\r
73         public Collection<?> getChildren(ReadGraph graph) throws DatabaseException {\r
74                 List<INode> nodes = new ArrayList<INode>();\r
75                 InteropResource i = InteropResource.getInstance(graph);\r
76                 \r
77                 Collection<Resource> objs = graph.getObjects(model, i.HasImportData);\r
78                 for (Resource o : objs) {\r
79                         if (graph.isInstanceOf(o, i.ImportLibrary)) {\r
80                                 INode node = graph.adapt(o, INode.class);\r
81                                 nodes.add(node);\r
82                         }\r
83                 }\r
84                 return nodes;\r
85                 \r
86         }\r
87         \r
88 \r
89 }\r