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;
}