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