Skip to content

Commit

Permalink
using kubernetesresource as the raw type
Browse files Browse the repository at this point in the history
  • Loading branch information
shawkins committed Sep 13, 2022
1 parent 28761e0 commit 182eab9
Show file tree
Hide file tree
Showing 36 changed files with 114 additions and 126 deletions.
2 changes: 0 additions & 2 deletions extensions/camel-k/generator-v1/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
machinery "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"knative.dev/pkg/apis"
"reflect"
)
Expand Down Expand Up @@ -79,7 +78,6 @@ func main() {
reflect.TypeOf(machinery.Time{}): "java.lang.String",
reflect.TypeOf(apis.URL{}): "java.lang.String",
reflect.TypeOf(apis.VolatileTime{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

json := schemagen.GenerateSchema("http://fabric8.io/camel-k/v1/CamelKSchema#", crdLists, providedPackages, manualTypeMap, packageMapping, mappingSchema, providedTypes, constraints, "io.fabric8")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
machinery "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"knative.dev/pkg/apis"
)

Expand Down Expand Up @@ -78,7 +77,6 @@ func main() {
reflect.TypeOf(machinery.Time{}): "java.lang.String",
reflect.TypeOf(apis.URL{}): "java.lang.String",
reflect.TypeOf(apis.VolatileTime{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
reflect.TypeOf(v1alpha1.Template{}): "java.util.Map<String, Object>",
reflect.TypeOf(v1alpha1.JSON{}): "com.fasterxml.jackson.databind.JsonNode",
reflect.TypeOf(v1alpha1.EndpointProperties{}): "java.util.Map<String, Object>",
Expand Down
2 changes: 0 additions & 2 deletions extensions/chaosmesh/generator/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
chaosmesh "github.com/chaos-mesh/chaos-mesh/api/v1alpha1"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -74,7 +73,6 @@ func main() {
// overwriting some times
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(v1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "Map<String, Object>",
reflect.TypeOf([]byte{}): "java.lang.String",
reflect.TypeOf([]string{}): "java.util.List<java.lang.String>",
}
Expand Down
2 changes: 0 additions & 2 deletions extensions/knative/generator/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ package main
import (
"fmt"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
"k8s.io/apimachinery/pkg/runtime"
awssqs_source "knative.dev/eventing-awssqs/pkg/apis/sources/v1alpha1"
couchdb_source "knative.dev/eventing-couchdb/source/pkg/apis/sources/v1alpha1"
github_binding "knative.dev/eventing-github/pkg/apis/bindings/v1alpha1"
Expand Down Expand Up @@ -136,7 +135,6 @@ func main() {
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(apis.URL{}): "java.lang.String",
reflect.TypeOf(apis.VolatileTime{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

json := schemagen.GenerateSchema("http://fabric8.io/knative/KnativeSchema#", crdLists, providedPackages, manualTypeMap, packageMapping, mappingSchema, providedTypes, constraints, "io.fabric8")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
agentv1 "github.com/open-cluster-management/klusterlet-addon-controller/pkg/apis/agent/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -60,7 +59,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
"fmt"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
appsv1 "open-cluster-management.io/multicloud-operators-channel/pkg/apis/apps/v1"
helmreleasev1 "open-cluster-management.io/multicloud-operators-subscription/pkg/apis/apps/helmrelease/v1"
subscriptionv1 "open-cluster-management.io/multicloud-operators-subscription/pkg/apis/apps/v1"
Expand Down Expand Up @@ -71,7 +70,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
reflect.TypeOf(subscriptionv1.PackageOverride{}): "java.util.Map<String, Object>",
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
"fmt"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
cluster "open-cluster-management.io/api/cluster/v1"
clusterv1alpha1 "open-cluster-management.io/api/cluster/v1alpha1"
clusterv1beta1 "open-cluster-management.io/api/cluster/v1beta1"
Expand Down Expand Up @@ -68,7 +67,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
discoveryv1alpha1 "github.com/open-cluster-management/discovery/api/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -61,7 +60,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
observabilityv1beta1 "github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/api/v1beta1"
observabilityv1beta2 "github.com/open-cluster-management/multicluster-observability-operator/operators/multiclusterobservability/api/v1beta2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -64,7 +63,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
multiclusterhuboperator "github.com/open-cluster-management/multiclusterhub-operator/api/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
operatorv1 "open-cluster-management.io/api/operator/v1"
"reflect"
)
Expand Down Expand Up @@ -64,7 +63,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
placementrulev1 "github.com/open-cluster-management/multicloud-operators-placementrule/pkg/apis/apps/v1"
multicloudintegration "github.com/open-cluster-management/multicloud-integrations/pkg/apis/apps/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -63,7 +62,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
governancepolicypropogatorv1 "github.com/open-cluster-management/governance-policy-propagator/api/v1"
governancepolicypropogatorv1beta1 "github.com/open-cluster-management/governance-policy-propagator/api/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -65,7 +64,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
searchv1alpha1 "github.com/open-cluster-management/search-operator/api/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -61,7 +60,6 @@ func main() {
// overwriting some types
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(metav1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
}

// types for interfaces
Expand Down
2 changes: 0 additions & 2 deletions extensions/service-catalog/generator/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
"github.com/kubernetes-sigs/service-catalog/pkg/apis/servicecatalog/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -69,7 +68,6 @@ func main() {
// overwriting some times
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(v1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
reflect.TypeOf([]byte{}): "java.lang.String",
}

Expand Down
2 changes: 0 additions & 2 deletions extensions/tekton/generator-v1beta1/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
machinery "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -72,7 +71,6 @@ func main() {

// overwriting some times
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(runtime.RawExtension{}): "java.util.Map<String, Object>",
reflect.TypeOf(machinery.Time{}): "java.lang.String",
}

Expand Down
2 changes: 0 additions & 2 deletions extensions/volcano/generator-v1beta1/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
"fmt"
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
volcanov1beta1 "volcano.sh/apis/pkg/apis/scheduling/v1beta1"
)
Expand Down Expand Up @@ -65,7 +64,6 @@ func main() {
// overwriting some times
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(v1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "Map<String, Object>",
reflect.TypeOf([]byte{}): "java.lang.String",
}

Expand Down
2 changes: 0 additions & 2 deletions extensions/volumesnapshot/generator/cmd/generate/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/fabric8io/kubernetes-client/generator/pkg/schemagen"
volumesnapshot "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"reflect"
)

Expand Down Expand Up @@ -66,7 +65,6 @@ func main() {
// overwriting some times
manualTypeMap := map[reflect.Type]string{
reflect.TypeOf(v1.Time{}): "java.lang.String",
reflect.TypeOf(runtime.RawExtension{}): "Map<String, Object>",
reflect.TypeOf([]byte{}): "java.lang.String",
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
import io.fabric8.kubernetes.api.model.KubernetesResource;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.kubernetes.model.jackson.UnmatchedFieldTypeModule;
Expand Down Expand Up @@ -239,15 +238,6 @@ private static <T> T unmarshal(InputStream is, ObjectMapper mapper, TypeReferenc
} else {
result = mapper.readerFor(type).readValue(bis);
}
// because the deserializer will always return a generic, we need to check the validity
if (result instanceof GenericKubernetesResource
&& type.getType().getTypeName().equals(KubernetesResource.class.getName())) {
GenericKubernetesResource gkr = (GenericKubernetesResource) result;
if (Utils.isNullOrEmpty(gkr.getKind()) || Utils.isNullOrEmpty(gkr.getApiVersion())) {
throw new KubernetesClientException(
"Could not parse the input as a KubernetesResource as it lacks kind or apiVersion fields.");
}
}
return result;
} catch (IOException e) {
throw KubernetesClientException.launderThrowable(e);
Expand Down
3 changes: 3 additions & 0 deletions kubernetes-model-generator/kubernetes-model-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@
<configuration>
<target>
<echo>Removing the duplicate generated class</echo>
<delete
file="${generate.targetDirectory}/io/fabric8/kubernetes/api/model/KubernetesResource.java"
verbose="true" />
<delete
file="${generate.targetDirectory}/io/fabric8/kubernetes/api/model/Duration.java"
verbose="true" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public KubernetesList() {
}

public KubernetesList(String apiVersion,
List<HasMetadata> items,
List<KubernetesResource> items,
String kind,
ListMeta metadata) {
super(apiVersion, items, kind, metadata);
Expand All @@ -70,7 +70,7 @@ public String getApiVersion() {
}

@Override
public List<HasMetadata> getItems() {
public List<KubernetesResource> getItems() {
return super.getItems();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.io.Serializable;

@JsonDeserialize(using = KubernetesDeserializer.class)
public interface KubernetesResourceList<E extends io.fabric8.kubernetes.api.model.HasMetadata> extends Serializable {
public interface KubernetesResourceList<E extends KubernetesResource> extends Serializable {

ListMeta getMetadata();

Expand Down
Loading

0 comments on commit 182eab9

Please sign in to comment.