From 9522eb08d6732304964ac4d98bb2dcf6830c0175 Mon Sep 17 00:00:00 2001 From: lorcan <13231947+lorcan-lv@user.noreply.gitee.com> Date: Fri, 12 Dec 2025 15:40:20 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8A=BD=E5=B1=89=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E8=B5=84=E6=BA=90=E5=85=83=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i18nresourcestrategy/VueDrawerI18nResourceStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/VueDrawerI18nResourceStrategy.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/VueDrawerI18nResourceStrategy.java index f63070e2..e5284e55 100644 --- a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/VueDrawerI18nResourceStrategy.java +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/VueDrawerI18nResourceStrategy.java @@ -13,7 +13,7 @@ import java.util.List; public class VueDrawerI18nResourceStrategy extends AbstractI18nResourceStrategy { @Override protected String getComponentName(HashMap component) { - IComponentNameStrategy componentNameStrategy = ComponentNameFactory.getInstance().creatComponentNameStrategy(ComponentNameType.TEXT); + IComponentNameStrategy componentNameStrategy = ComponentNameFactory.getInstance().creatComponentNameStrategy(ComponentNameType.TITLE); if (componentNameStrategy == null) { return null; } -- Gitee From 85142633bf079646278412159ae826ff95b40043 Mon Sep 17 00:00:00 2001 From: lorcan <13231947+lorcan-lv@user.noreply.gitee.com> Date: Thu, 8 Jan 2026 10:34:40 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=9B=E5=87=BA?= =?UTF-8?q?=E5=8E=9F=E7=94=9F=E5=BC=82=E5=B8=B8=E5=8E=86=E5=8F=B2=E9=81=97?= =?UTF-8?q?=E7=95=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/formmetadata/filter/LowCodeLanguagePackageFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/filter/LowCodeLanguagePackageFilter.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/filter/LowCodeLanguagePackageFilter.java index d3f06141..abf0631c 100644 --- a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/filter/LowCodeLanguagePackageFilter.java +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/filter/LowCodeLanguagePackageFilter.java @@ -30,6 +30,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; +import com.inspur.edp.web.common.customexception.WebCustomException; import io.iec.edp.caf.boot.context.CAFContext; import io.iec.edp.caf.commons.exception.CAFRuntimeException; import io.iec.edp.caf.commons.utils.SpringBeanUtils; @@ -299,7 +300,7 @@ public class LowCodeLanguagePackageFilter extends OncePerRequestFilter { JsonNode mergedJsonNodes = mergeJsonNodes(originalJson, uiLanguagePackageJson); return objectMapper.writeValueAsString(mergedJsonNodes); } catch (JsonProcessingException e) { - throw new CAFRuntimeException("pfcommon", "", "", e); // todo: 换成多语的抛异常方式。 + throw new WebCustomException(e); // todo: 换成多语的抛异常方式。 } } -- Gitee From 08427b601edff9e3f000ca69567d34257687eada Mon Sep 17 00:00:00 2001 From: lorcan <13231947+lorcan-lv@user.noreply.gitee.com> Date: Thu, 8 Jan 2026 10:35:06 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=93=8D=E4=BD=9C=E5=88=97=E8=B5=84=E6=BA=90=E9=A1=B9?= =?UTF-8?q?=E6=8F=90=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataGridI18nResourceStrategy.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/DataGridI18nResourceStrategy.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/DataGridI18nResourceStrategy.java index 79cb8f6f..c0686795 100644 --- a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/DataGridI18nResourceStrategy.java +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/i18n/component/strategy/i18nresourcestrategy/DataGridI18nResourceStrategy.java @@ -23,6 +23,7 @@ import com.inspur.edp.web.formmetadata.i18n.I18nResourceItemManager; import com.inspur.edp.web.formmetadata.i18n.component.ComponentUtility; import com.inspur.edp.web.formmetadata.i18n.component.strategy.i18nresourcestrategy.CommonStrategy.GridCommonStrategy; import com.inspur.edp.web.formmetadata.i18n.constant.I18nResourceConstant; +import jodd.util.ObjectUtil; import java.util.ArrayList; import java.util.HashMap; @@ -72,22 +73,40 @@ public class DataGridI18nResourceStrategy extends GridCommonStrategy { } //提取columns里的行内容 - if(currentComponent.containsKey("columns")){ - I18nResourceItemCollection columnsI18nResourceItemCollection=extractedColumns( i18nResourceItemBaseId, currentComponent); + if (currentComponent.containsKey("columns")) { + I18nResourceItemCollection columnsI18nResourceItemCollection = extractedColumns(i18nResourceItemBaseId, currentComponent); if (columnsI18nResourceItemCollection != null && columnsI18nResourceItemCollection.size() > 0) { i18nResourceItemCollection.addRange(columnsI18nResourceItemCollection); } } //提取handing内的行号值 - if(currentComponent.containsKey("rowNumber")){ + if (currentComponent.containsKey("rowNumber")) { String currentComponentType = ComponentUtility.getInstance().getType(currentComponent); String currentComponentId = ComponentUtility.getInstance().getId(currentComponent); - HashMaprowNumber= (HashMap) currentComponent.get("rowNumber"); - String heading= (String) rowNumber.get("heading"); - String generatedComponentId = currentComponentId + "/rowNumber/heading"; + HashMap rowNumber = (HashMap) currentComponent.get("rowNumber"); + String heading = (String) rowNumber.get("heading"); + String generatedComponentId = currentComponentId + "/rowNumber/heading"; I18nResourceItem footerButtonI18nResourceItem = I18nResourceItemManager.createI18nResourceItem(i18nResourceItemBaseId, generatedComponentId, heading, heading); this.addInCollection(i18nResourceItemCollection, footerButtonI18nResourceItem); } + //提取command + if (currentComponent.containsKey("command")) { + String currentComponentId = ComponentUtility.getInstance().getId(currentComponent); + HashMap command = (HashMap) currentComponent.get("command"); + if (command.containsKey("commands")) { + List> commands = (List>) command.get("commands"); + if(command.containsKey("enableType") && "custom".equals((String) command.get("enableType"))){ + commands.forEach(cmd -> { + if (cmd.get("value") == null || StringUtility.isNullOrEmpty((String) cmd.get("value"))) { + return; + } + String generatedComponentId = currentComponentId + "/command/commands/" + (String) cmd.get("value"); + I18nResourceItem footerButtonI18nResourceItem = I18nResourceItemManager.createI18nResourceItem(i18nResourceItemBaseId, generatedComponentId, (String) cmd.get("text"), (String) cmd.get("text")); + this.addInCollection(i18nResourceItemCollection, footerButtonI18nResourceItem); + }); + } + } + } return i18nResourceItemCollection; } -- Gitee From f3de40803abe93fd90fa65961889d223cd152ff2 Mon Sep 17 00:00:00 2001 From: lorcan <13231947+lorcan-lv@user.noreply.gitee.com> Date: Fri, 6 Feb 2026 15:28:33 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=B7=A8=E6=9C=8D=E5=8A=A1=E5=8D=95=E5=85=83?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formformat/FormFormatHandler.java | 1 + .../formformat/FormFormatRtcUtility.java | 38 +++ .../handler/WFFormFormatMobileHandler.java | 239 +++++++++--------- .../handler/WFFormFormatPcHandler.java | 10 +- 4 files changed, 166 insertions(+), 122 deletions(-) create mode 100644 web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatRtcUtility.java diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatHandler.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatHandler.java index 82726ee7..844442e6 100644 --- a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatHandler.java +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatHandler.java @@ -28,6 +28,7 @@ public abstract class FormFormatHandler { public abstract void pushFormFormat(GspMetadata formMetadata, String formatType, String formPath); + @Deprecated public abstract void pushRtcFormFormat(GspMetadata formMetadata, String formatType, DimensionExtendEntity dimension); public abstract void pushNoCodeFormFormat(GspMetadata formMetadata, String formatType); diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatRtcUtility.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatRtcUtility.java new file mode 100644 index 00000000..5cce4831 --- /dev/null +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/FormFormatRtcUtility.java @@ -0,0 +1,38 @@ +package com.inspur.edp.web.formmetadata.formformat; + +import com.inspur.edp.formserver.viewmodel.formentity.VoFormModel; +import com.inspur.edp.metadata.rtcustomization.api.entity.DimensionExtendEntity; +import com.inspur.edp.web.common.customexception.WebCustomException; +import io.iec.edp.caf.commons.utils.SpringBeanUtils; +import io.iec.edp.caf.rpc.api.service.RpcClient; + +import java.util.LinkedHashMap; + +public class FormFormatRtcUtility { + + public static boolean canPushFormFormat(String voId) { + try { + LinkedHashMap params = new LinkedHashMap<>(); + params.put("voId", voId); + RpcClient rpcClient = SpringBeanUtils.getBean(RpcClient.class); + return rpcClient.invoke(Boolean.TYPE, "com.inspur.edp.rtc.template.api.rpc.RtcTemplateRpcService.canPushFormFormat", "Bcc", params, null); + } catch (Exception e) { + throw new WebCustomException("failed to invoke the Rpc interface: com.inspur.edp.rtc.template.api.rpc.RtcTemplateRpcService.canPushFormFormat", e); + } + } + + public static void buildRtcFormFormat(VoFormModel voFormModel, DimensionExtendEntity dimension, String voId, String bizObjectID) { + try { + LinkedHashMap params = new LinkedHashMap<>(); + params.put("voFormModel", voFormModel); + params.put("dimensionExtendEntity", dimension); + params.put("voId", voId); + params.put("businessObjectId", bizObjectID); + RpcClient rpcClient = SpringBeanUtils.getBean(RpcClient.class); + rpcClient.invoke(Void.TYPE, "com.inspur.edp.rtc.template.api.rpc.RtcTemplateRpcService.buildRtcFormFormat", "Bcc", params, null); + } catch (Exception e) { + throw new WebCustomException("failed to invoke the Rpc interface: com.inspur.edp.rtc.template.api.rpc.RtcTemplateRpcService.buildRtcFormFormat", e); + } + + } +} diff --git a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/handler/WFFormFormatMobileHandler.java b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/handler/WFFormFormatMobileHandler.java index 95bd4643..7c3d375e 100644 --- a/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/handler/WFFormFormatMobileHandler.java +++ b/web-form-metadata/src/main/java/com/inspur/edp/web/formmetadata/formformat/handler/WFFormFormatMobileHandler.java @@ -2,8 +2,6 @@ package com.inspur.edp.web.formmetadata.formformat.handler; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; -import com.inspur.edp.customize.form.api.RuntimeCheckVoFormVariableService; -import com.inspur.edp.customize.service.VoRuntimeBuildFormFormatService; import com.inspur.edp.formserver.viewmodel.formentity.*; import com.inspur.edp.formserver.vmapi.formconfig.VoBuildFormFormatService; import com.inspur.edp.lcm.metadata.api.entity.GspMetadata; @@ -14,6 +12,7 @@ import com.inspur.edp.lcm.metadata.api.service.MetadataService; import com.inspur.edp.metadata.rtcustomization.api.entity.DimensionExtendEntity; import com.inspur.edp.web.common.utility.StringUtility; import com.inspur.edp.web.formmetadata.formformat.FormFormatHandler; +import com.inspur.edp.web.formmetadata.formformat.FormFormatRtcUtility; import com.inspur.edp.web.formmetadata.metadata.FormMetadataContent; import io.iec.edp.caf.businessobject.api.entity.DevBasicBoInfo; import io.iec.edp.caf.businessobject.api.service.DevBasicInfoService; @@ -28,12 +27,13 @@ import java.util.*; /** * 向vo推送按钮、字段、命令,用于权限控制 */ -public class WFFormFormatMobileHandler extends FormFormatHandler { +public class WFFormFormatMobileHandler extends FormFormatHandler { - private final List controlsWithButton = Arrays.asList("ListView","Button","ButtonGroup","Card","Section"); + private final List controlsWithButton = Arrays.asList("ListView", "Button", "ButtonGroup", "Card", "Section"); /** * 表单类型 + * * @return */ @Override @@ -63,22 +63,20 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { FormMetadataContent formContents = (FormMetadataContent) formMetadata.getContent(); JsonNode content = formContents.getContents(); String voId = content.at("/module/schemas/0/id").textValue(); - RuntimeCheckVoFormVariableService runtimeCheckVoFormVariableService = SpringBeanUtils.getBean(RuntimeCheckVoFormVariableService.class); - boolean isPushRtcForm = runtimeCheckVoFormVariableService.checkVoFormVariable(voId); + boolean isPushRtcForm = FormFormatRtcUtility.canPushFormFormat(voId); if (!isPushRtcForm) { return; } - VoRuntimeBuildFormFormatService voRuntimeBuildFormFormatService = SpringBeanUtils.getBean(VoRuntimeBuildFormFormatService.class); - VoFormModel voFormModel = getVoFormModel(formMetadata, formatType, null,"LCDP"); - String dim1 = StringUtils.isNotBlank(dimension.getFirstDimension())?dimension.getFirstDimension():"public"; - String dim2 = StringUtils.isNotBlank(dimension.getSecondDimension())?dimension.getSecondDimension():"public"; + VoFormModel voFormModel = getVoFormModel(formMetadata, formatType, null, "LCDP"); + String dim1 = StringUtils.isNotBlank(dimension.getFirstDimension()) ? dimension.getFirstDimension() : "public"; + String dim2 = StringUtils.isNotBlank(dimension.getSecondDimension()) ? dimension.getSecondDimension() : "public"; generateParameters(voFormModel.getUrlParameters(), "dim1", "维度一", dim1); generateParameters(voFormModel.getUrlParameters(), "dim2", "维度二", dim2); generateParameters(voFormModel.getUrlParameters(), "metadataId", "元数据id", dimension.getBasicMetadataId()); - voRuntimeBuildFormFormatService.buildFormFormat(voFormModel, dimension, voId, formMetadata.getHeader().getBizobjectID()); + FormFormatRtcUtility.buildRtcFormFormat(voFormModel, dimension, voId, formMetadata.getHeader().getBizobjectID()); } @Override @@ -135,6 +133,7 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 获取实体信息 + * * @param formContent * @return */ @@ -167,39 +166,38 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { } - - /** * 提取按钮 + * * @param formContent 表单内容 * @return 按钮信息 */ @Override - public List getButtons(JsonNode formContent){ + public List getButtons(JsonNode formContent) { // 递归找Button JsonNode componentArr = formContent.at("/module/components"); JsonNode viewmodelArr = formContent.at("/module/viewmodels"); - List buttonGroupList = new ArrayList<>(); + List buttonGroupList = new ArrayList<>(); List cardPageviewModelIdList = new ArrayList<>(); - componentArr.forEach(component->{ - String componentType = getValue(component,"componentType",null); - String pageType = getValue(component,"pageType",null); - String viewModelId = getValue(component,"viewModel",null); + componentArr.forEach(component -> { + String componentType = getValue(component, "componentType", null); + String pageType = getValue(component, "pageType", null); + String viewModelId = getValue(component, "viewModel", null); //找到卡片页面的视图模型 - if( "Page".equals(componentType) && "Card".equals(pageType) && StringUtils.isNotBlank(viewModelId)){ + if ("Page".equals(componentType) && "Card".equals(pageType) && StringUtils.isNotBlank(viewModelId)) { cardPageviewModelIdList.add(viewModelId); } }); - for(JsonNode component :componentArr){ - String viewModelId = getValue(component,"viewModel",null); - JsonNode parentViewModel = findParentViewModelId( viewmodelArr, viewModelId); + for (JsonNode component : componentArr) { + String viewModelId = getValue(component, "viewModel", null); + JsonNode parentViewModel = findParentViewModelId(viewmodelArr, viewModelId); //只提取卡片页面及其子组件 - if( cardPageviewModelIdList.contains(getValue(parentViewModel,"id",null))){ + if (cardPageviewModelIdList.contains(getValue(parentViewModel, "id", null))) { searchComponentsForButton(component, buttonGroupList); } } @@ -207,16 +205,16 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { return buttonGroupList; } - private JsonNode findParentViewModelId(JsonNode viewmodelArr,String curViewmodelId){ + private JsonNode findParentViewModelId(JsonNode viewmodelArr, String curViewmodelId) { JsonNode result = null; - if(StringUtils.isNotBlank(curViewmodelId) ){ - for(JsonNode viewmodel :viewmodelArr){ - if(curViewmodelId.equals(getValue(viewmodel,"id",null))){ + if (StringUtils.isNotBlank(curViewmodelId)) { + for (JsonNode viewmodel : viewmodelArr) { + if (curViewmodelId.equals(getValue(viewmodel, "id", null))) { result = viewmodel; - String parentViewModelId = getValue(viewmodel,"parent",null); - if(StringUtils.isNotBlank(parentViewModelId)){ - JsonNode parentViewModel = findParentViewModelId( viewmodelArr, parentViewModelId); - if(parentViewModel != null ){ + String parentViewModelId = getValue(viewmodel, "parent", null); + if (StringUtils.isNotBlank(parentViewModelId)) { + JsonNode parentViewModel = findParentViewModelId(viewmodelArr, parentViewModelId); + if (parentViewModel != null) { result = parentViewModel; } @@ -230,6 +228,7 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 提取方法 + * * @param formContent * @return */ @@ -237,41 +236,41 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { // 1.遍历页面组件 JsonNode componentArr = formContent.at("/module/components"); String cardViewModelId = null; - for(JsonNode component:componentArr){ - String componentType = getValue(component,"componentType",null); - String pageType = getValue(component,"pageType",null); + for (JsonNode component : componentArr) { + String componentType = getValue(component, "componentType", null); + String pageType = getValue(component, "pageType", null); //找到卡片页面 - if( "Page".equals(componentType) && "Card".equals(pageType)){ - cardViewModelId = getValue(component,"viewModel",""); + if ("Page".equals(componentType) && "Card".equals(pageType)) { + cardViewModelId = getValue(component, "viewModel", ""); break; } } List methodGroupList = new ArrayList<>(); - if(StringUtils.isNotBlank(cardViewModelId)){ + if (StringUtils.isNotBlank(cardViewModelId)) { JsonNode viewModelArr = formContent.at("/module/viewmodels"); //2.遍历视图模型 - for(JsonNode viewModel:viewModelArr){ - String viewModelId = getValue(viewModel,"id",null); - if(StringUtils.isNotBlank(viewModelId) && cardViewModelId.equals(viewModelId)){ + for (JsonNode viewModel : viewModelArr) { + String viewModelId = getValue(viewModel, "id", null); + if (StringUtils.isNotBlank(viewModelId) && cardViewModelId.equals(viewModelId)) { JsonNode commands = viewModel.get("commands"); //3.遍历命令 - if(commands != null && commands.size() > 0){ - commands.forEach(command->{ + if (commands != null && commands.size() > 0) { + commands.forEach(command -> { MethodGroup methodGroup = new MethodGroup(); - methodGroup.setId(getValue(command,"id",null)); - methodGroup.setMethodCode(getValue(command,"code",null)); - methodGroup.setMethodName(getValue(command,"name",null)); + methodGroup.setId(getValue(command, "id", null)); + methodGroup.setMethodCode(getValue(command, "code", null)); + methodGroup.setMethodName(getValue(command, "name", null)); //4.遍历命令参数 JsonNode params = command.get("params"); - if(params != null && params.size() > 0){ + if (params != null && params.size() > 0) { List methodParamList = new ArrayList<>(); - params.forEach(param->{ + params.forEach(param -> { MethodParam methodParam = new MethodParam(); - methodParam.setCode(getValue(param,"name",null)); - methodParam.setName(getValue(param,"shownName",null)); + methodParam.setCode(getValue(param, "name", null)); + methodParam.setName(getValue(param, "shownName", null)); methodParam.setValue(null); methodParamList.add(methodParam); @@ -292,25 +291,26 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 查找带按钮的组件 - * @param root 页面组件 + * + * @param root 页面组件 * @param buttonGroupList 按钮组列表 */ private void searchComponentsForButton(JsonNode root, List buttonGroupList) { - if(root.isArray()) { + if (root.isArray()) { for (JsonNode jsonNode : root) { searchComponentsForButton(jsonNode, buttonGroupList); } } - if(root.isObject()){ + if (root.isObject()) { JsonNode type = root.get("type"); - if(type != null && controlsWithButton.contains(type.asText())){ + if (type != null && controlsWithButton.contains(type.asText())) { this.findButtons(root, buttonGroupList); - }else { + } else { Iterator fieldNames = root.fieldNames(); - while(fieldNames.hasNext()) { + while (fieldNames.hasNext()) { String fieldName = fieldNames.next(); JsonNode fieldValue = root.get(fieldName); - if(fieldValue.isArray() || fieldValue.isObject()){ + if (fieldValue.isArray() || fieldValue.isObject()) { searchComponentsForButton(fieldValue, buttonGroupList); } } @@ -320,13 +320,14 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 查找控件中按钮 - * @param node 组件节点 + * + * @param node 组件节点 * @param buttonGroupList 按钮组列表 */ - private void findButtons(JsonNode node,List buttonGroupList){ + private void findButtons(JsonNode node, List buttonGroupList) { String type = node.get("type").asText(); - switch (type){ - case "NavigationBar":{ + switch (type) { + case "NavigationBar": { //在流程中会隐藏头部和尾部,不需要提取导航栏的按钮。 break; // JsonNode toolbar = node.get("toolbar"); @@ -339,52 +340,52 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { // } // break; } - case "ListView":{ + case "ListView": { //删除 - JsonNode swipeToolbar = node.get("swipeToolbar"); - if(swipeToolbar != null){ + JsonNode swipeToolbar = node.get("swipeToolbar"); + if (swipeToolbar != null) { ArrayNode items = (ArrayNode) swipeToolbar.get("items"); - if(items != null && items.size() > 0 ){ - this.findComplexButtons( items, node , buttonGroupList); + if (items != null && items.size() > 0) { + this.findComplexButtons(items, node, buttonGroupList); } } //多选 - JsonNode toolbar = node.get("toolbar"); - if(toolbar != null){ + JsonNode toolbar = node.get("toolbar"); + if (toolbar != null) { ArrayNode items = (ArrayNode) toolbar.get("items"); - if(items != null && items.size() > 0 ){ - this.findComplexButtons( items, node , buttonGroupList); + if (items != null && items.size() > 0) { + this.findComplexButtons(items, node, buttonGroupList); } } break; } - case "Button":{ + case "Button": { findSingleButton(node, buttonGroupList); break; } - case "ButtonGroup":{ + case "ButtonGroup": { ArrayNode items = (ArrayNode) node.get("items"); - if(items != null && items.size() > 0 ){ - this.findComplexButtons( items, node , buttonGroupList); + if (items != null && items.size() > 0) { + this.findComplexButtons(items, node, buttonGroupList); } break; } - case "Card":{ + case "Card": { ArrayNode items = (ArrayNode) node.get("actions"); - if(items != null && items.size() > 0 ){ - this.findComplexButtons( items, node , buttonGroupList); + if (items != null && items.size() > 0) { + this.findComplexButtons(items, node, buttonGroupList); } break; } - case "Section":{ - JsonNode footerToolbar = node.get("footerToolbar"); - if(null == footerToolbar){ + case "Section": { + JsonNode footerToolbar = node.get("footerToolbar"); + if (null == footerToolbar) { break; } ArrayNode items = (ArrayNode) footerToolbar.get("items"); - if(items !=null && items.size() > 0 ){ - this.findComplexButtons( items, node , buttonGroupList); + if (items != null && items.size() > 0) { + this.findComplexButtons(items, node, buttonGroupList); } break; } @@ -393,7 +394,8 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 查找简单按钮 - * @param node 组件节点 + * + * @param node 组件节点 * @param buttonGroupList 按钮组列表 */ private void findSingleButton(JsonNode node, List buttonGroupList) { @@ -412,11 +414,11 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { //3.创建按钮 List configAbleAttrs = getConfigAbleAttrs(node); if (!configAbleAttrs.isEmpty()) { - Button button = new Button(); + Button button = new Button(); button.setId(node.get("id").asText()); button.setCode(node.get("id").asText()); button.setType(node.get("type").asText()); - button.setName(getName(node,"按钮")); + button.setName(getName(node, "按钮")); button.setConfigurableAttrs(configAbleAttrs); buttonGroup.setButtons(Collections.singletonList(button)); @@ -427,16 +429,17 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { /** * 查找复杂按钮 - * @param childNodes 按钮项 - * @param parentNode 按钮父级信息 + * + * @param childNodes 按钮项 + * @param parentNode 按钮父级信息 * @param buttonGroupList 按钮组列表 */ - private void findComplexButtons(ArrayNode childNodes, JsonNode parentNode , List buttonGroupList){ + private void findComplexButtons(ArrayNode childNodes, JsonNode parentNode, List buttonGroupList) { // 1.创建按钮组。button 当前没有分组信息,用方法名暂时做分组名 ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.setId(parentNode.get("id").asText()); buttonGroup.setCode(parentNode.get("id").asText()); - String name= getName(parentNode,"按钮"); + String name = getName(parentNode, "按钮"); String id = ""; if (parentNode.get("id") != null) { id = parentNode.get("id").asText(); @@ -444,16 +447,16 @@ public class WFFormFormatMobileHandler extends FormFormatHandler { name += "[" + id + "]"; buttonGroup.setName(name); - List