4 i hu  h h h h          h ! # . h  )  . - . - .   6     :   >    h >  >   !" >#$% >&'()* +,-./01 >23456 78 e9 :;<()VCodeLineNumberTableLocalVariableTablethis6Lcom/artfess/bpm/persistence/util/BpmnXmlValidateUtil; vilateBpmXmlB(Ljava/util/List;)Lcom/fasterxml/jackson/databind/node/ObjectNode;nodeDefsLjava/util/List;isTrueZmsg0Lcom/fasterxml/jackson/databind/node/ObjectNode;errorserrorMsgLjava/lang/String;LocalVariableTypeTableHLjava/util/List; StackMapTable= Signaturez(Ljava/util/List;)Lcom/fasterxml/jackson/databind/node/ObjectNode;vilateC(Ljava/util/List;Lcom/fasterxml/jackson/databind/node/ObjectNode;)ZisSequenceTrue isGateway isSubProcess>{(Ljava/util/List;Lcom/fasterxml/jackson/databind/node/ObjectNode;)Z getResultMsgD(Lcom/fasterxml/jackson/databind/node/ObjectNode;)Ljava/lang/String;keyvalueLjava/lang/StringBuffer;indexI sIteratorLjava/util/Iterator;(Ljava/util/Iterator;? getNodeDefs$(Ljava/lang/String;)Ljava/util/List;eLjavax/xml/bind/JAXBException;Ljava/io/IOException;bpmnXml bpmProcessDef8Lcom/artfess/bpm/persistence/model/DefaultBpmProcessDef; Exceptions@\(Ljava/lang/String;)Ljava/util/List; getByBpmnXmlL(Ljava/lang/String;)Lcom/artfess/bpm/persistence/model/DefaultBpmProcessDef; definition2Lcom/artfess/bpm/defxml/entity/ext/ExtDefinitions;listprocess'Lcom/artfess/bpm/defxml/entity/Process;processDefExtParse8Lcom/artfess/bpm/persistence/util/BpmProcessDefExtParse;9Ljava/util/List;A getProcess=(Lcom/artfess/bpm/defxml/entity/Definitions;)Ljava/util/List;element+Lcom/artfess/bpm/defxml/entity/RootElement;jAXBeLjavax/xml/bind/JAXBElement; definitions+Lcom/artfess/bpm/defxml/entity/Definitions; processes bPMNElementsJLjavax/xml/bind/JAXBElement<+Lcom/artfess/bpm/defxml/entity/RootElement;>;\Ljava/util/List;>;f(Lcom/artfess/bpm/defxml/entity/Definitions;)Ljava/util/List;vilateGateways bpmNodeDef6Lcom/artfess/bpm/api/model/process/nodedef/BpmNodeDef;inclus parallelsvilateSequence outNodeDefoutNodesisStartisEndparentBpmNodeDefvilateSubProcessnodeALcom/artfess/bpm/api/model/process/nodedef/ext/SubProcessNodeDef; subProNodesputMsgsW(Lcom/fasterxml/jackson/databind/node/ObjectNode;Ljava/lang/String;Ljava/lang/String;)V SourceFileBpmnXmlValidateUtil.java jkB CDE FG = HI  errorMsgs HJ java/lang/StringBuffer KL? MN OPjava/lang/String QRS TUjava/lang/StringBuilder 错误消息 VW VX、 YU VZ; javax/xml/bind/JAXBException [kjava/io/IOException \]^ _` > ab(com/artfess/base/exception/BaseExceptionc de jf Qg%com/artfess/bpm/defxml/entity/Process6com/artfess/bpm/persistence/model/DefaultBpmProcessDef hU ij kU ljm no pqjava/util/ArrayListr s] tLjavax/xml/bind/JAXBElement uP)com/artfess/bpm/defxml/entity/RootElement vw4com/artfess/bpm/api/model/process/nodedef/BpmNodeDef xyz {| }w ~|*流程定义中同步网关未成对出现tbwg *流程定义中条件网关未成对出现tjwg ] w ] | | w 节点【】缺少流入和流出】缺少流入】缺少流出 -流程定义中存在无效的开始节点【】(缺少流出)-流程定义中存在无效的结束节点【】(缺少流入) |开始节点【】连接的节点【?】为非用户任务(开始节点只能连接用户任务)【】中缺少结束节点end U!流程定义中缺少结束节点】中缺少开始节点start!流程定义中缺少开始节点 |?com/artfess/bpm/api/model/process/nodedef/ext/SubProcessNodeDef 4com/artfess/bpm/persistence/util/BpmnXmlValidateUtiljava/lang/Object.com/fasterxml/jackson/databind/node/ObjectNodejava/util/Listjava/util/Iteratorjava/lang/Exception0com/artfess/bpm/defxml/entity/ext/ExtDefinitionscom/artfess/base/util/JsonUtil getMapper/()Lcom/fasterxml/jackson/databind/ObjectMapper;+com/fasterxml/jackson/databind/ObjectMappercreateObjectNode2()Lcom/fasterxml/jackson/databind/node/ObjectNode;putE(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode;V(Ljava/lang/String;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ObjectNode; fieldNames()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;get=(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;'com/fasterxml/jackson/databind/JsonNodeasText()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString,(Ljava/lang/String;)Ljava/lang/StringBuffer;printStackTracegetBpmnNodeDefs()Ljava/util/List;!com/artfess/bpm/defxml/DefXmlUtilgetDefinitionsByXmlF(Ljava/lang/String;)Lcom/artfess/bpm/defxml/entity/ext/ExtDefinitions;size()I)com/artfess/base/enums/ResponseErrorEnums BPM_PROCESS+Lcom/artfess/base/enums/ResponseErrorEnums;.(Lcom/artfess/base/enums/ResponseErrorEnums;)V(I)Ljava/lang/Object;getNamesetName(Ljava/lang/String;)VgetId setDefKey6com/artfess/bpm/persistence/util/BpmProcessDefExtParse getInstance:()Lcom/artfess/bpm/persistence/util/BpmProcessDefExtParse;handProcessDef(Lcom/artfess/bpm/persistence/model/DefaultBpmProcessDef;Lcom/artfess/bpm/defxml/entity/ext/ExtDefinitions;Lcom/artfess/bpm/defxml/entity/Process;)V)com/artfess/bpm/defxml/entity/DefinitionsgetRootElementiteratorgetValueadd(Ljava/lang/Object;)ZgetType)()Lcom/artfess/bpm/api/constant/NodeType;%com/artfess/bpm/api/constant/NodeTypePARALLELGATEWAY'Lcom/artfess/bpm/api/constant/NodeType;equalsINCLUSIVEGATEWAYgetIncomeNodescom/artfess/base/util/BeanUtils isNotEmptygetOutcomeNodesSTARTENDisEmptygetParentBpmNodeDef8()Lcom/artfess/bpm/api/model/process/nodedef/BpmNodeDef;USERTASK getNodeId SUBPROCESSgetChildBpmProcessDef7()Lcom/artfess/bpm/api/model/process/def/BpmProcessDef;3com/artfess/bpm/api/model/process/def/BpmProcessDef!hi jkl/*mn op qrl8<MN*-<,W-:,  W,m"  !"-#6$n48st6uv /wx(yx- z{| 8s}~'C l(=*+ >*+ 6*+ 6 =m(*,.0$1&3n>(st(yx&uv vvv| (s}~& ldYL=*N-J-:*:+YW+W+W+m2 78 9:;#<.=K>R?Y@\A_Bn>#9{..{dyx\w ZU| U~O lL* LM,"M,$+% !#m& FHM I JMKLNn* {~ G l\*&L++'M,()Y*+,,-N.Y/:-01-234:+-5m6 YZ [ \]^%`0b9cBdKfPgYhn>\{WLt0,9#P | L~  lK6Y7L*8M,9N-/-::;<:-+-=W+m"tu v(w2x:yF{I|n42(KCt >t| (C >~1!# lP}=>6*9:;>:?@A ?BAp =+CDEp =+FGEmB%5;KNQ]_gqs{n>%)}st}yx{uvyv| }s}~#+ l  =>6:*9:\>:HIJI?KA?LAHM<JM/+YNOPOErHM<JI/+YNOQOE,+YNOROE=MTSIGS:;JMC?KA3+YTOUOE=>HMD?LA4+YVOWOE=6?LA 6?KAz>J:9:  \ >:  ?XA==+YYOZ O[OESIA+Y\O]Y^_E +`^E=SIA+Y\OaYb_E +cbE=m- (Db|.:W%57oruzn\ %J lt(J st yxuvvv |l} s}~I/eE("LM#_JI lX=*9N-G->:?dA)e!e:fg:+=m& 5<HQSVn><H t6XstXyxVuv|H }Xs}~ I lJ*,+ Wm n yxw{{