core/src/main/java/io/fabric8/maven/core/util/kubernetes/KubernetesResourceUtil.java
private static Map<String, Object> readAndEnrichFragment(PlatformMode platformMode, ResourceVersioning apiVersions,
                                                             File file, String appName) throws IOException {
        Pattern pattern = Pattern.compile(FILENAME_PATTERN, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(file.getName());
        if (!matcher.matches()) {
            throw new IllegalArgumentException(
                String.format("Resource file name '%s' does not match pattern <name>-<type>.(yaml|yml|json)", file.getName()));
        }
        String name = matcher.group("name");
        String type = matcher.group("type");
        String ext = matcher.group("ext").toLowerCase();
        String kind;

        Map<String,Object> fragment = readFragment(file, ext);

        if (type != null) {
            kind = getAndValidateKindFromType(file, type);
        } else {
            // Try name as type
            kind = FILENAME_TO_KIND_MAPPER.get(name.toLowerCase());
            if (kind != null) {
                // Name is in fact the type, so lets erase the name.
                name = null;
            }
        }

        addKind(fragment, kind, file.getName());

        String apiVersion = apiVersions.getCoreVersion();
        if (Objects.equals(kind, "Ingress")) {
            apiVersion = apiVersions.getExtensionsVersion();
        } else if (Objects.equals(kind, "StatefulSet") || Objects.equals(kind, "Deployment")) {
            apiVersion = apiVersions.getAppsVersion();
        } else if (Objects.equals(kind, "Job")) {
            apiVersion = apiVersions.getJobVersion();
        } else if (Objects.equals(kind, "DeploymentConfig") && platformMode == PlatformMode.openshift) {
            apiVersion = apiVersions.getOpenshiftV1version();
        }
        addIfNotExistent(fragment, "apiVersion", apiVersion);

        Map<String, Object> metaMap = getMetadata(fragment);
        // No name means: generated app name should be taken as resource name
        addIfNotExistent(metaMap, "name", StringUtils.isNotBlank(name) ? name : appName);

        return fragment;
    }
private static Map<String, Object> readAndEnrichFragment(PlatformMode platformMode, ResourceVersioning apiVersions,
                                                             File file, String appName) throws IOException {
        Pattern pattern = Pattern.compile(FILENAME_PATTERN, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(file.getName());
        if (!matcher.matches()) {
            throw new IllegalArgumentException(
                String.format("Resource file name '%s' does not match pattern <name>-<type>.(yaml|yml|json)", file.getName()));
        }
        String name = matcher.group("name");
        String type = matcher.group("type");
        String ext = matcher.group("ext").toLowerCase();
        String kind;

        Map<String,Object> fragment = readFragment(file, ext);

        if (type != null) {
            kind = getAndValidateKindFromType(file, type);
        } else {
            // Try name as type
            kind = FILENAME_TO_KIND_MAPPER.get(name.toLowerCase());
            if (kind != null) {
                // Name is in fact the type, so lets erase the name.
                name = null;
            }
        }

        addKind(fragment, kind, file.getName());

        String apiVersion = apiVersions.getCoreVersion();
        if (Objects.equals(kind, "Ingress")) {
            apiVersion = apiVersions.getExtensionsVersion();
        } else if (Objects.equals(kind, "StatefulSet") || Objects.equals(kind, "Deployment")) {
            apiVersion = apiVersions.getAppsVersion();
        } else if (Objects.equals(kind, "Job")) {
            apiVersion = apiVersions.getJobVersion();
        } else if (Objects.equals(kind, "DeploymentConfig") && platformMode == PlatformMode.openshift) {
            apiVersion = apiVersions.getOpenshiftV1version();
        }
        addIfNotExistent(fragment, "apiVersion", apiVersion);

        Map<String, Object> metaMap = getMetadata(fragment);
        // No name means: generated app name should be taken as resource name
        addIfNotExistent(metaMap, "name", StringUtils.isNotBlank(name) ? name : appName);

        return fragment;
    }
private static Map < String , Object > readAndEnrichFragment ( PlatformMode platformMode , ResourceVersioning apiVersions , File file , String appName ) throws IOException { Pattern pattern = Pattern . compile ( FILENAME_PATTERN , Pattern . CASE_INSENSITIVE ) ; Matcher matcher = pattern . matcher ( file . getName ( ) ) ; if ( ! matcher . matches ( ) ) { throw new IllegalArgumentException ( String . format ( "Resource file name '%s' does not match pattern <name>-<type>.(yaml|yml|json)" , file . getName ( ) ) ) ; } String name = matcher . group ( "name" ) ; String type = matcher . group ( "type" ) ; String ext = matcher . group ( "ext" ) . toLowerCase ( ) ; String kind ; Map < String , Object > fragment = readFragment ( file , ext ) ; if ( type != null ) { kind = getAndValidateKindFromType ( file , type ) ; } else { // Try name as type kind = FILENAME_TO_KIND_MAPPER . get ( name . toLowerCase ( ) ) ; if ( kind != null ) { // Name is in fact the type, so lets erase the name. name = null ; } } addKind ( fragment , kind , file . getName ( ) ) ; String apiVersion = apiVersions . getCoreVersion ( ) ; if ( Objects . equals ( kind , "Ingress" ) ) { apiVersion = apiVersions . getExtensionsVersion ( ) ; } else if ( Objects . equals ( kind , "StatefulSet" ) || Objects . equals ( kind , "Deployment" ) ) { apiVersion = apiVersions . getAppsVersion ( ) ; } else if ( Objects . equals ( kind , "Job" ) ) { apiVersion = apiVersions . getJobVersion ( ) ; } else if ( Objects . equals ( kind , "DeploymentConfig" ) && platformMode == PlatformMode . openshift ) { apiVersion = apiVersions . getOpenshiftV1version ( ) ; } addIfNotExistent ( fragment , "apiVersion" , apiVersion ) ; Map < String , Object > metaMap = getMetadata ( fragment ) ; // No name means: generated app name should be taken as resource name addIfNotExistent ( metaMap , "name" , StringUtils . isNotBlank ( name ) ? name : appName ) ; return fragment ; }
Read fragment and add default values
Read fragment and add default values