@Override public EngineObjectCustomProperties getElementCustomProperties(String fileId, String uuids) { EngineModel engineModel = engineModelService.getEngineModel(fileId); if (ModelFileEnum.RFA.getValue().equalsIgnoreCase(engineModel.getFormat())) { return null; } List<String> list = new ArrayList<>(); list.add(uuids); List<EngineObject> engineObjects = engineObjectRepository.findByModelIdAndUuidIn(engineModel.getId(), list); EngineObject engineObject = null; if (!CollectionUtils.isEmpty(engineObjects)) { engineObject = engineObjects.get(0); } if (engineObject == null) { throw new CustomException(ApiReturnCodeEnum.api_2030); } EngineObjectCustomProperties engineObjectCustomProperties = packageEngineObjectCustomProperties(engineObject); //新功能不从EngineCustomProperty中获取 return engineObjectCustomProperties; }
时间: 2024-04-21 21:28:43 浏览: 83
这段代码是一个方法,用于获取指定模型文件中指定元素的自定义属性。首先通过文件ID获取模型文件,然后判断模型文件格式是否为RFA,如果是则返回null。然后通过UUID获取对应的元素对象,如果未找到则抛出自定义异常。最后通过调用packageEngineObjectCustomProperties方法,将获取到的元素对象转化为自定义属性对象并返回。
相关问题
@Override @ApiOperation(value = "批量获取多个构件属性", notes = "uuids以,号分隔") public List<ModelPropertyDTO> getElements(@RequestBody ElementPropertiesRequestDto requestDto) { String uuids = requestDto.getUuids(); String fileId = requestDto.getFileId(); String language = requestDto.getLanguage(); String viewId = requestDto.getViewId(); language = MyTools.getLanguage(language); EngineModel engineModel = engineModelService.getEngineModel(fileId); List<String> guidList = null; if (!StringUtils.isEmpty(uuids)) { guidList = Arrays.stream(uuids.split(",")).map(String::trim).collect(Collectors.toList()); } return engineObjectExtService.getpropertitySetsByGuids(guidList, engineModel, language, viewId, requestDto.getShowEmpty()); }
这是另一段 Java 代码,看起来是一个重载了 getElements 方法的接口实现。这个方法接收一个 ElementPropertiesRequestDto 类型的参数,并返回一个 ModelPropertyDTO 对象列表。在方法中,从 requestDto 中获取 uuids、fileId、language 和 viewId 等信息,并进行相关处理。接着,通过 engineModelService 的 getEngineModel 方法获取 EngineModel 对象,并通过 engineObjectExtService 的 getpropertitySetsByGuids 方法获取属性集合。方法中使用了一些技巧,比如将 uuids 字符串转换为 guidList 列表,以及使用 stream 和 map 等方法进行列表的转换。最终,返回获取到的 ModelPropertyDTO 对象列表。
阅读全文