public Model getModelById()

in src/main/java/com/aliyun/openservices/paifeaturestore/api/FsModelApi.java [36:119]


    public Model getModelById(String modelId) throws Exception {
        GetModelFeatureResponse response = this.apiClient.getClient().getModelFeature(this.apiClient.getInstanceId(), modelId);
        Model model = new Model();
        model.setModelId(Long.valueOf(modelId));
        model.setName(response.getBody().getName());
        model.setProjectName(response.getBody().getProjectName());
        model.setProjectId(Long.valueOf(response.getBody().getProjectId()));

        List<ModelFeatures> features = new ArrayList<>();
        //  Traverse the feature set of the model feature response class to get the current field.
        for (GetModelFeatureResponseBody.GetModelFeatureResponseBodyFeatures field : response.getBody().getFeatures()) {
            ModelFeatures feature = new ModelFeatures();
            feature.setFeatureViewName(field.getFeatureViewName());
            feature.setName(field.getName());
            feature.setFeatureViewId(Integer.valueOf(field.getFeatureViewId()));
            //  Determines whether the field of the current model feature is empty and aliased.
            if (!StringUtils.isEmpty(field.getAliasName()) && !field.getAliasName().equals(field.getName())) {
                feature.setAliasName(field.getAliasName());
            }
            //  Determine the type of the current field and set the corresponding type.
            if (field.getType().equals("STRING")) {
                feature.setType(FSType.FS_STRING);
            } else if (field.getType().equals("INT32")) {
                feature.setType(FSType.FS_INT32);
            } else if (field.getType().equals("INT64")) {
                feature.setType(FSType.FS_INT64);
            } else if (field.getType().equals("FLOAT")) {
                feature.setType(FSType.FS_FLOAT);
            } else if (field.getType().equals("DOUBLE")) {
                feature.setType(FSType.FS_DOUBLE);
            } else if (field.getType().equals("BOOLEAN")) {
                feature.setType(FSType.FS_BOOLEAN);
            } else if (field.getType().equals("TIMESTAMP")) {
                feature.setType(FSType.FS_TIMESTAMP);
            } else if (field.getType().equals("ARRAY<INT32>")) {
                feature.setType(FSType.FS_ARRAY_INT32);
            } else if (field.getType().equals("ARRAY<INT64>")) {
                feature.setType(FSType.FS_ARRAY_INT64);
            } else if (field.getType().equals("ARRAY<FLOAT>")){
                feature.setType(FSType.FS_ARRAY_FLOAT);
            } else if (field.getType().equals("ARRAY<STRING>")){
                feature.setType(FSType.FS_ARRAY_STRING);
            } else if (field.getType().equals("ARRAY<DOUBLE>")){
                feature.setType(FSType.FS_ARRAY_DOUBLE);
            } else if (field.getType().equals("ARRAY<ARRAY<FLOAT>>")){
                feature.setType(FSType.FS_ARRAY_ARRAY_FLOAT);
            } else if (field.getType().equals("MAP<INT32,INT32>")){
                feature.setType(FSType.FS_MAP_INT32_INT32);
            } else if (field.getType().equals("MAP<INT32,INT64>")){
                feature.setType(FSType.FS_MAP_INT32_INT64);
            } else if (field.getType().equals("MAP<INT32,FLOAT>")){
                feature.setType(FSType.FS_MAP_INT32_FLOAT);
            } else if (field.getType().equals("MAP<INT32,DOUBLE>")){
                feature.setType(FSType.FS_MAP_INT32_DOUBLE);
            } else if (field.getType().equals("MAP<INT32,STRING>")){
                feature.setType(FSType.FS_MAP_INT32_STRING);
            } else if (field.getType().equals("MAP<INT64,INT32>")){
                feature.setType(FSType.FS_MAP_INT64_INT32);
            } else if (field.getType().equals("MAP<INT64,INT64>")){
                feature.setType(FSType.FS_MAP_INT64_INT64);
            } else if (field.getType().equals("MAP<INT64,FLOAT>")){
                feature.setType(FSType.FS_MAP_INT64_FLOAT);
            } else if (field.getType().equals("MAP<INT64,DOUBLE>")){
                feature.setType(FSType.FS_MAP_INT64_DOUBLE);
            } else if (field.getType().equals("MAP<INT64,STRING>")){
                feature.setType(FSType.FS_MAP_INT64_STRING);
            } else if (field.getType().equals("MAP<STRING,INT32>")){
                feature.setType(FSType.FS_MAP_STRING_INT32);
            } else if (field.getType().equals("MAP<STRING,INT64>")){
                feature.setType(FSType.FS_MAP_STRING_INT64);
            }  else if (field.getType().equals("MAP<STRING,DOUBLE>")){
                feature.setType(FSType.FS_MAP_STRING_DOUBLE);
            } else if (field.getType().equals("MAP<STRING,STRING>")){
                feature.setType(FSType.FS_MAP_STRING_STRING);
            } else if (field.getType().equals("MAP<STRING,FLOAT>")){
                feature.setType(FSType.FS_MAP_STRING_FLOAT);
            }

            features.add(feature);
        }
        model.setFeatures(features);

        return model;
    }