@@ -22,7 +22,9 @@ import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.Deployme
22
22
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ImageStreamsOperator
23
23
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ProjectsOperator
24
24
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ReplicationControllersOperator
25
+ import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.RoutesOperator
25
26
import com.redhat.devtools.intellij.kubernetes.model.resourceName
27
+ import com.redhat.devtools.intellij.kubernetes.tree.KubernetesStructure.Folders.NETWORK
26
28
import com.redhat.devtools.intellij.kubernetes.tree.KubernetesStructure.Folders.WORKLOADS
27
29
import com.redhat.devtools.intellij.kubernetes.tree.TreeStructure.Folder
28
30
import io.fabric8.kubernetes.api.model.HasMetadata
@@ -37,11 +39,13 @@ class OpenShiftStructure(model: IResourceModel): AbstractTreeStructureContributi
37
39
val IMAGESTREAMS = Folder (" ImageStreams" , kind = ImageStreamsOperator .KIND )
38
40
val DEPLOYMENTCONFIGS = Folder (" DeploymentConfigs" , kind = DeploymentConfigsOperator .KIND )
39
41
val BUILDCONFIGS = Folder (" BuildConfigs" , kind = BuildConfigsOperator .KIND )
42
+ val ROUTES = Folder (" Routes" , kind = RoutesOperator .KIND )
40
43
}
41
44
42
45
override val elementsTree: List <ElementNode <* >> = listOf (
43
46
* createProjectsElements(),
44
- * createWorkloadElements()
47
+ * createWorkloadElements(),
48
+ * createNetworkElements()
45
49
)
46
50
47
51
private fun createProjectsElements (): Array <ElementNode <* >> {
@@ -134,6 +138,29 @@ class OpenShiftStructure(model: IResourceModel): AbstractTreeStructureContributi
134
138
)
135
139
}
136
140
141
+ private fun createNetworkElements (): Array <ElementNode <* >> {
142
+ return arrayOf(
143
+ element<Any > {
144
+ applicableIf { it == NETWORK }
145
+ children {
146
+ listOf<Any >(
147
+ ROUTES
148
+ )
149
+ }
150
+ },
151
+ element<Any > {
152
+ applicableIf { it == ROUTES }
153
+ childrenKind { RoutesOperator .KIND }
154
+ children {
155
+ model.resources(RoutesOperator .KIND )
156
+ .inCurrentNamespace()
157
+ .list()
158
+ .sortedBy(resourceName)
159
+ }
160
+ }
161
+ )
162
+ }
163
+
137
164
override fun descriptorFactory (): (Any , ResourceKind <out HasMetadata >? , NodeDescriptor <* >? , IResourceModel , com.intellij.openapi.project.Project ) -> NodeDescriptor <* >? {
138
165
return OpenShiftDescriptors ::createDescriptor
139
166
}
0 commit comments