All Downloads are FREE. Search and download functionalities are using the official Maven repository.

stio-model.1.6.5-Beta6.source-code.istio-mappings-provider.vm Maven / Gradle / Ivy

There is a newer version: 1.7.7.1
Show newest version
package me.snowdrop.istio.api.model;

import io.fabric8.kubernetes.api.KubernetesResourceMappingProvider;
import io.fabric8.kubernetes.api.model.KubernetesResource;
import java.util.HashMap;
import java.util.Map;

public class IstioResourceMappingsProvider implements KubernetesResourceMappingProvider {

    public final Map> mappings = new HashMap<>();

    public IstioResourceMappingsProvider () {

#foreach ($key in ${model.keySet()})
#set ($length = $key.length())
#set ($tindex = $length - 4)
#set ($resource = $key.substring(0, $tindex))
#set ($version = "unknown")
#set ($kind = "unknown")
#set ($annotations = $model.get($key).annotations)
#foreach ($annotation in $annotations)
#if ($annotation.getClassRef().getName().equals("IstioApiVersion"))
#set ($version = $annotation.getParameters().get("value"))
#end
#if ($annotation.getClassRef().getName().equals("IstioKind"))
#set ($kind = $annotation.getParameters().get("name"))
#end
#end
        mappings.put("$version#$kind", ${resource}.class);
#end
    }

    public Map> getMappings() {
        return mappings;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy