| | |
| | | package com.highdatas.mdm.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.node.ObjectNode; |
| | | import com.highdatas.mdm.pojo.Result; |
| | | import com.highdatas.mdm.service.ModelEditorService; |
| | | import com.highdatas.mdm.util.Constant; |
| | | import com.highdatas.mdm.util.DbUtils; |
| | | import org.activiti.editor.constants.ModelDataJsonConstants; |
| | | import org.activiti.engine.ActivitiException; |
| | |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.MultiValueMap; |
| | | |
| | | import java.io.InputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author kimi |
| | |
| | | |
| | | Model model = repositoryService.getModel(modelId); |
| | | |
| | | if (model != null) { |
| | | try { |
| | | if (StringUtils.isNotEmpty(model.getMetaInfo())) { |
| | | modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo()); |
| | | } else { |
| | | modelNode = objectMapper.createObjectNode(); |
| | | modelNode.put(MODEL_NAME, model.getName()); |
| | | } |
| | | modelNode.put(MODEL_ID, model.getId()); |
| | | byte[] modelEditorSource = repositoryService.getModelEditorSource(model.getId()); |
| | | String s = new String(modelEditorSource, "utf-8"); |
| | | ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(s); |
| | | |
| | | modelNode.put("model", editorJsonNode); |
| | | |
| | | } catch (Exception e) { |
| | | LOGGER.error("Error creating model JSON", e); |
| | | throw new ActivitiException("Error creating model JSON", e); |
| | | if (model != null) try { |
| | | if (StringUtils.isNotEmpty(model.getMetaInfo())) { |
| | | modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo()); |
| | | } else { |
| | | modelNode = objectMapper.createObjectNode(); |
| | | modelNode.put(MODEL_NAME, model.getName()); |
| | | } |
| | | }else { |
| | | modelNode.put(MODEL_ID, model.getId()); |
| | | byte[] modelEditorSource = repositoryService.getModelEditorSource(model.getId()); |
| | | String s = new String(modelEditorSource, "utf-8"); |
| | | JSONObject editorJsonNode = JSONObject.parseObject(s); |
| | | JSONArray childShapes = editorJsonNode.getJSONArray("childShapes"); |
| | | for (Object childShape : childShapes) { |
| | | JSONObject nextJsonNode = (JSONObject) childShape; |
| | | JSONObject stencil = nextJsonNode.getJSONObject("stencil"); |
| | | String nodeType = stencil.getString(Constant.ID); |
| | | |
| | | if (!nodeType.equalsIgnoreCase("SequenceFlow")) { |
| | | continue; |
| | | } |
| | | |
| | | JSONObject properties = nextJsonNode.getJSONObject("properties"); |
| | | String etlCondition = properties.getString("conditionsequenceflow"); |
| | | etlCondition = etlCondition.replace("&&", "++"); |
| | | properties.put("conditionsequenceflow", etlCondition); |
| | | } |
| | | JsonNode jsonNode = objectMapper.readTree(editorJsonNode.toJSONString()); |
| | | modelNode.put("model", jsonNode); |
| | | |
| | | } catch (Exception e) { |
| | | LOGGER.error("Error creating model JSON", e); |
| | | throw new ActivitiException("Error creating model JSON", e); |
| | | } |
| | | else { |
| | | |
| | | } |
| | | return modelNode; |
| | | } |
| | | |
| | | @Override |
| | | public Result saveModel(String modelId, MultiValueMap<String, String> values) { |
| | | public Result saveModel(String modelId, Map<String, String> values) { |
| | | return null; |
| | | } |
| | | |