Skip to content

Commit

Permalink
split Filters into k8 and openshift portions
Browse files Browse the repository at this point in the history
Signed-off-by: Andre Dietisheim <[email protected]>
  • Loading branch information
adietish committed Aug 14, 2023
1 parent 67f2d9b commit 906d9b5
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
******************************************************************************/
package com.redhat.devtools.intellij.kubernetes.model.dashboard

import com.redhat.devtools.intellij.kubernetes.model.resource.PodForService
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForService
import io.fabric8.kubernetes.api.model.Pod
import io.fabric8.kubernetes.api.model.Service
import io.fabric8.kubernetes.client.KubernetesClient
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*******************************************************************************
* Copyright (c) 2020 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v2.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes

import io.fabric8.kubernetes.api.model.Pod
import io.fabric8.kubernetes.api.model.Service
import io.fabric8.kubernetes.api.model.apps.DaemonSet
import io.fabric8.kubernetes.api.model.apps.Deployment
import io.fabric8.kubernetes.api.model.apps.StatefulSet
import io.fabric8.kubernetes.api.model.batch.v1.Job
import java.util.function.Predicate


class PodForService(service: Service)
: PodForResource(service.spec.selector)

class PodForDeployment(deployment: Deployment)
: PodForResource(deployment.spec.selector.matchLabels)

class PodForStatefulSet(statefulSet: StatefulSet)
: PodForResource(statefulSet.spec.selector.matchLabels)

class PodForDaemonSet(daemonSet: DaemonSet)
: PodForResource(daemonSet.spec.selector?.matchLabels)


open class PodForResource(private val selectorLabels: Map<String, String>?): Predicate<Pod> {

override fun test(pod: Pod): Boolean {
return selectorLabels?.all { pod.metadata.labels?.entries?.contains(it) ?: false } ?: false
}
}

class PodForJob(private val job: Job)
: Predicate<Pod> {

override fun test(pod: Pod): Boolean {
return job.metadata.uid == pod.metadata?.labels?.get("controller-uid")
}
}


Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package com.redhat.devtools.intellij.kubernetes.model.resource
package com.redhat.devtools.intellij.kubernetes.model.resource.openshift

import io.fabric8.kubernetes.api.model.Pod
import io.fabric8.kubernetes.api.model.ReplicationController
import io.fabric8.kubernetes.api.model.Service
import io.fabric8.kubernetes.api.model.apps.DaemonSet
import io.fabric8.kubernetes.api.model.apps.Deployment
import io.fabric8.kubernetes.api.model.apps.StatefulSet
import io.fabric8.kubernetes.api.model.batch.v1.Job
import io.fabric8.openshift.api.model.Build
import io.fabric8.openshift.api.model.BuildConfig
import io.fabric8.openshift.api.model.DeploymentConfig
Expand Down Expand Up @@ -64,26 +59,6 @@ class BuildConfigFor(build: Build) : Predicate<BuildConfig> {
}
}

class PodForService(service: Service)
: PodForResource(service.spec.selector)

class PodForDeployment(deployment: Deployment)
: PodForResource(deployment.spec.selector.matchLabels)

class PodForStatefulSet(statefulSet: StatefulSet)
: PodForResource(statefulSet.spec.selector.matchLabels)

class PodForDaemonSet(daemonSet: DaemonSet)
: PodForResource(daemonSet.spec.selector?.matchLabels)


open class PodForResource(private val selectorLabels: Map<String, String>?): Predicate<Pod> {

override fun test(pod: Pod): Boolean {
return selectorLabels?.all { pod.metadata.labels?.entries?.contains(it) ?: false } ?: false
}
}

class PodForBuild(private val build: Build)
: Predicate<Pod> {

Expand All @@ -92,11 +67,4 @@ class PodForBuild(private val build: Build)
}
}

class PodForJob(private val job: Job)
: Predicate<Pod> {

override fun test(pod: Pod): Boolean {
return job.metadata.uid == pod.metadata?.labels?.get("controller-uid")
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ import com.intellij.ide.util.treeView.NodeDescriptor
import com.intellij.openapi.project.Project
import com.intellij.ui.tree.LeafState
import com.redhat.devtools.intellij.kubernetes.model.IResourceModel
import com.redhat.devtools.intellij.kubernetes.model.resource.PodForDaemonSet
import com.redhat.devtools.intellij.kubernetes.model.resource.PodForDeployment
import com.redhat.devtools.intellij.kubernetes.model.resource.PodForJob
import com.redhat.devtools.intellij.kubernetes.model.resource.PodForService
import com.redhat.devtools.intellij.kubernetes.model.resource.PodForStatefulSet
import com.redhat.devtools.intellij.kubernetes.model.resource.ResourceKind
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.AllPodsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.ConfigMapsOperator
Expand All @@ -33,6 +28,11 @@ import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.Namespa
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.NodesOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PersistentVolumeClaimsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PersistentVolumesOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForDaemonSet
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForDeployment
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForJob
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForService
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.PodForStatefulSet
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.SecretsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.ServicesOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.kubernetes.StatefulSetsOperator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ package com.redhat.devtools.intellij.kubernetes.tree
import com.intellij.ide.util.treeView.NodeDescriptor
import com.intellij.ui.tree.LeafState
import com.redhat.devtools.intellij.kubernetes.model.IResourceModel
import com.redhat.devtools.intellij.kubernetes.model.resource.BuildFor
import com.redhat.devtools.intellij.kubernetes.model.resource.ReplicationControllerFor
import com.redhat.devtools.intellij.kubernetes.model.resource.ResourceKind
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.BuildConfigsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.BuildFor
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.BuildsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.DeploymentConfigsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ImageStreamsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ProjectsOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ReplicationControllerFor
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.ReplicationControllersOperator
import com.redhat.devtools.intellij.kubernetes.model.resource.openshift.RoutesOperator
import com.redhat.devtools.intellij.kubernetes.model.resourceName
Expand Down

0 comments on commit 906d9b5

Please sign in to comment.