Skip to content

Commit 72c049c

Browse files
committed
1 parent 0be7a52 commit 72c049c

9 files changed

Lines changed: 48 additions & 14 deletions

File tree

flow-engine-framework/src/main/java/com/codingapi/flow/form/DataType.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
public enum DataType {
44
STRING,
55
NUMBER,
6-
DATE,
76
BOOLEAN
87
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.codingapi.flow.form;
2+
3+
import lombok.Data;
4+
5+
/**
6+
* 附加属性
7+
*/
8+
@Data
9+
public class FieldAttribute {
10+
// 属性名称
11+
private String label;
12+
// 属性值
13+
private String value;
14+
}

flow-engine-framework/src/main/java/com/codingapi/flow/form/FlowForm.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,25 @@ public static FlowForm fromMap(Map<String, Object> map) {
6666
fieldMeta.setId((String) field.get("id"));
6767
fieldMeta.setName((String) field.get("name"));
6868
fieldMeta.setCode((String) field.get("code"));
69-
fieldMeta.setType(DataType.valueOf((String) field.get("type")));
69+
fieldMeta.setType((String) field.get("type"));
70+
fieldMeta.setDataType(DataType.valueOf((String) field.get("dataType")));
7071
fieldMeta.setRequired(Boolean.TRUE.equals(field.get("required")));
7172
fieldMeta.setHidden(Boolean.TRUE.equals(field.get("hidden")));
7273
fieldMeta.setDefaultValue((String) field.get("defaultValue"));
7374
fieldMeta.setPlaceholder((String) field.get("placeholder"));
7475
fieldMeta.setTooltip((String) field.get("tooltip"));
7576
fieldMeta.setHelp((String) field.get("help"));
77+
List<Map<String, Object>> attributes = (List<Map<String, Object>>)field.get("attributes");
78+
if(attributes!=null) {
79+
List<FieldAttribute> attributeList = new ArrayList<>();
80+
for (Map<String, Object> attribute : attributes){
81+
FieldAttribute fieldAttribute = new FieldAttribute();
82+
fieldAttribute.setLabel((String) attribute.get("label"));
83+
fieldAttribute.setValue((String) attribute.get("value"));
84+
attributeList.add(fieldAttribute);
85+
}
86+
fieldMeta.setAttributes(attributeList);
87+
}
7688
fieldList.add(fieldMeta);
7789
}
7890
}
@@ -108,10 +120,10 @@ public FormField getField(String fieldName) {
108120
return fields.stream().filter(field -> field.getName().equals(fieldName)).findFirst().orElse(null);
109121
}
110122

111-
private void initFormFieldTypes(FlowForm form, Map<String, DataType> types) {
123+
private void initFormFieldDataTypes(FlowForm form, Map<String, DataType> types) {
112124
for (FormField field : form.getFields()) {
113125
String key = form.getCode() + "." + field.getCode();
114-
DataType type = field.getType();
126+
DataType type = field.getDataType();
115127
types.put(key, type);
116128
}
117129
}
@@ -121,15 +133,15 @@ private void initFormFieldTypes(FlowForm form, Map<String, DataType> types) {
121133
*
122134
* @return 表单字段类型
123135
*/
124-
public Map<String, DataType> loadAllFieldTypeMaps() {
136+
public Map<String, DataType> loadAllFieldDataTypeMaps() {
125137
Map<String, DataType> types = new HashMap<>();
126138
List<FlowForm> forms = this.getSubForms();
127139
if (forms == null) {
128140
forms = new ArrayList<>();
129141
}
130142
forms.add(this);
131143
for (FlowForm subForm : forms) {
132-
this.initFormFieldTypes(subForm, types);
144+
this.initFormFieldDataTypes(subForm, types);
133145
}
134146
return types;
135147
}
@@ -145,7 +157,7 @@ public Map<String, DataType> loadMainFieldTypeMaps() {
145157
List<FlowForm> forms = new ArrayList<>();
146158
forms.add(this);
147159
for (FlowForm subForm : forms) {
148-
this.initFormFieldTypes(subForm, types);
160+
this.initFormFieldDataTypes(subForm, types);
149161
}
150162
return types;
151163
}

flow-engine-framework/src/main/java/com/codingapi/flow/form/FlowFormBuilder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.codingapi.flow.form;
22

33
import java.util.ArrayList;
4+
import java.util.Locale;
45

56
public class FlowFormBuilder {
67

@@ -23,11 +24,12 @@ public FlowFormBuilder code(String code) {
2324
return this;
2425
}
2526

26-
public FlowFormBuilder addField(String name, String code, DataType type) {
27+
public FlowFormBuilder addField(String name, String code, DataType dataType) {
2728
FormField field = new FormField();
2829
field.setName(name);
2930
field.setCode(code);
30-
field.setType(type);
31+
field.setDataType(dataType);
32+
field.setType(dataType.name().toLowerCase(Locale.ROOT));
3133
field.setRequired(true);
3234
field.setDefaultValue(null);
3335
return this.addField(field);

flow-engine-framework/src/main/java/com/codingapi/flow/form/FormField.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.codingapi.flow.utils.RandomUtils;
44
import lombok.Data;
55

6+
import java.util.List;
7+
68
/**
79
* 表单字段元数据
810
*/
@@ -16,7 +18,9 @@ public class FormField {
1618
// 字段编号
1719
private String code;
1820
// 字段类型
19-
private DataType type;
21+
private String type;
22+
// 数据类型
23+
private DataType dataType;
2024
// 是否隐藏
2125
private boolean hidden;
2226
// 是否必填
@@ -29,6 +33,9 @@ public class FormField {
2933
private String tooltip;
3034
// 帮助提示
3135
private String help;
36+
// 附加属性
37+
private List<FieldAttribute> attributes;
38+
3239

3340
public FormField() {
3441
this.id = RandomUtils.generateStringId();

flow-engine-framework/src/main/java/com/codingapi/flow/strategy/node/FormFieldPermissionStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public FormFieldPermissionStrategy(List<FormFieldPermission> fieldPermissions) {
4444
*/
4545
@Override
4646
public void verifyNode(FlowForm form) {
47-
Map<String, DataType> fieldTypes = form.loadAllFieldTypeMaps();
47+
Map<String, DataType> fieldTypes = form.loadAllFieldDataTypeMaps();
4848
if(fieldPermissions!=null) {
4949
for (FormFieldPermission permission : fieldPermissions) {
5050
String key = permission.getFormCode() + "." + permission.getFieldCode();

flow-engine-framework/src/test/java/com/codingapi/flow/form/FormDataTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void dataTest() {
2525
.code("record")
2626
.addField("审批人", "approver", DataType.STRING)
2727
.addField("审批结果", "result", DataType.STRING)
28-
.addField("审批时间", "time", DataType.DATE)
28+
.addField("审批时间", "time", DataType.STRING)
2929
.build())
3030
.build();
3131
FormData data = new FormData(form);

flow-engine-framework/src/test/java/com/codingapi/flow/service/FlowSampleServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ void create() {
113113

114114
@Test
115115
void importWorkflow() {
116-
String data = "data:application/json;base64,eyJ1cGRhdGVkVGltZSI6IjE3NzMyMjI0MzkzMTIiLCJjb2RlIjoicmRZbUt2UzMxOSIsIm5vZGVzIjpbeyJ2aWV3IjoiZGVmYXVsdCIsInN0cmF0ZWdpZXMiOlt7InNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg5L2g5pyJ5LiA5p2h5b6F5YqeXG5kZWYgcnVuKHJlcXVlc3Qpe1xuICAgIHJldHVybiAn5L2g5pyJ5LiA5p2h5b6F5YqeJ1xufVxuIiwic3RyYXRlZ3lUeXBlIjoiTm9kZVRpdGxlU3RyYXRlZ3kifSx7InN0cmF0ZWd5VHlwZSI6IkZvcm1GaWVsZFBlcm1pc3Npb25TdHJhdGVneSIsImZpZWxkUGVybWlzc2lvbnMiOltdfSx7ImVuYWJsZSI6dHJ1ZSwidHlwZSI6IlJFVk9LRV9DVVJSRU5UIiwic3RyYXRlZ3lUeXBlIjoiUmV2b2tlU3RyYXRlZ3kifV0sImRpc3BsYXkiOnRydWUsIm5hbWUiOiLlvIDlp4voioLngrkiLCJpZCI6IldSOGNnOTN1c3hqTmxQMXNFVSIsInR5cGUiOiJTVEFSVCIsImFjdGlvbnMiOlt7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IumAmui/hyJ9LCJpZCI6IkJ6UGtWQ3BISUp6WXNaRVJSYiIsInR5cGUiOiJQQVNTIiwidGl0bGUiOiLpgJrov4cifSx7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IuS/neWtmCJ9LCJpZCI6ImgzYmhoQTBGZHlRTUpNUnlBQSIsInR5cGUiOiJTQVZFIiwidGl0bGUiOiLkv53lrZgifV0sIm9yZGVyIjoiMCJ9LHsidmlldyI6ImRlZmF1bHQiLCJzdHJhdGVnaWVzIjpbeyJ0aW1lb3V0VGltZSI6Ijg2NDAwMDAwIiwidHlwZSI6IlJFTUlORCIsInN0cmF0ZWd5VHlwZSI6IlRpbWVvdXRTdHJhdGVneSJ9LHsidHlwZSI6IlNFUVVFTkNFIiwicGVyY2VudCI6IjAuMCIsInN0cmF0ZWd5VHlwZSI6Ik11bHRpT3BlcmF0b3JBdWRpdFN0cmF0ZWd5In0seyJ0eXBlIjoiQVVUT19QQVNTIiwic3RyYXRlZ3lUeXBlIjoiU2FtZU9wZXJhdG9yQXVkaXRTdHJhdGVneSJ9LHsiZW5hYmxlIjpmYWxzZSwic3RyYXRlZ3lUeXBlIjoiUmVjb3JkTWVyZ2VTdHJhdGVneSJ9LHsidHlwZSI6IlJFU1VNRSIsInN0cmF0ZWd5VHlwZSI6IlJlc3VibWl0U3RyYXRlZ3kifSx7InNpZ25SZXF1aXJlZCI6ZmFsc2UsImFkdmljZVJlcXVpcmVkIjpmYWxzZSwic3RyYXRlZ3lUeXBlIjoiQWR2aWNlU3RyYXRlZ3kifSx7InNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg5Zue6YCA6Iez5byA5aeL6IqC54K5XG4vLyBAU0NSSVBUX01FVEEge1widHlwZVwiOlwibm9kZVwiLFwibm9kZVwiOlwiU1RBUlRcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuICRiaW5kLmNyZWF0ZUVycm9yVGhyb3cocmVxdWVzdC5nZXRTdGFydE5vZGUoKSk7XG59XG4iLCJzdHJhdGVneVR5cGUiOiJFcnJvclRyaWdnZXJTdHJhdGVneSJ9LHsic2NyaXB0IjoiLy8gQFNDUklQVF9USVRMRSDkvaDmnInkuIDmnaHlvoXlip5cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuICfkvaDmnInkuIDmnaHlvoXlip4nXG59XG4iLCJzdHJhdGVneVR5cGUiOiJOb2RlVGl0bGVTdHJhdGVneSJ9LHsic3RyYXRlZ3lUeXBlIjoiRm9ybUZpZWxkUGVybWlzc2lvblN0cmF0ZWd5IiwiZmllbGRQZXJtaXNzaW9ucyI6eyIkcmVmIjoiJC5ub2Rlc1swXS5zdHJhdGVnaWVzWzFdLmZpZWxkUGVybWlzc2lvbnMifX0seyJzY3JpcHQiOiIvLyBAU0NSSVBUX1RJVExFIOa1geeoi+WIm+W7uuiAhVxuLy8gQFNDUklQVF9NRVRBIHtcInR5cGVcIjpcImNyZWF0b3JcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuIFtyZXF1ZXN0LmdldENyZWF0ZWRPcGVyYXRvcigpXVxufVxuIiwic3RyYXRlZ3lUeXBlIjoiT3BlcmF0b3JMb2FkU3RyYXRlZ3kifSx7ImVuYWJsZSI6dHJ1ZSwidHlwZSI6IlJFVk9LRV9DVVJSRU5UIiwic3RyYXRlZ3lUeXBlIjoiUmV2b2tlU3RyYXRlZ3kifV0sImRpc3BsYXkiOnRydWUsIm5hbWUiOiLlrqHmibnoioLngrkiLCJpZCI6IjFNQWNxRkpBbEtCeGNVb2J4MyIsInR5cGUiOiJBUFBST1ZBTCIsImFjdGlvbnMiOlt7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IumAmui/hyJ9LCJpZCI6ImpjWk9IYWlKcnl6SmIyZkZNciIsInR5cGUiOiJQQVNTIiwidGl0bGUiOiLpgJrov4cifSx7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IuaLkue7nSJ9LCJpZCI6ImJ5VVpub2trNnRYVzRrOHlPVyIsInR5cGUiOiJSRUpFQ1QiLCJ0aXRsZSI6IuaLkue7nSIsInNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg6L+U5Zue5byA5aeL6IqC54K5XG4vLyBAU0NSSVBUX01FVEEge1widHlwZVwiOlwiU1RBUlRcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuIHJlcXVlc3QuZ2V0U3RhcnROb2RlKCkuZ2V0SWQoKTtcbn1cbiJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi5L+d5a2YIn0sImlkIjoiUWplQXp3bU1qSFNOWHBiOVBvIiwidHlwZSI6IlNBVkUiLCJ0aXRsZSI6IuS/neWtmCJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi5Yqg562+In0sImlkIjoiUzd4Q09kNHF0ZHRHZDJFbFF3IiwidHlwZSI6IkFERF9BVURJVCIsInRpdGxlIjoi5Yqg562+In0seyJlbmFibGUiOnRydWUsImRpc3BsYXkiOnsidGl0bGUiOiLovazlip4ifSwiaWQiOiJXNmJiM1dWd1JKSlpWNDVzUjMiLCJ0eXBlIjoiVFJBTlNGRVIiLCJ0aXRsZSI6Iui9rOWKniJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi6YCA5ZueIn0sImlkIjoicVphb0djc3ZXNmVtSlZnTU03IiwidHlwZSI6IlJFVFVSTiIsInRpdGxlIjoi6YCA5ZueIn0seyJlbmFibGUiOnRydWUsImRpc3BsYXkiOnsidGl0bGUiOiLlp5TmtL4ifSwiaWQiOiJHTTBtaU1IRWdyV25naU1QRnAiLCJ0eXBlIjoiREVMRUdBVEUiLCJ0aXRsZSI6IuWnlOa0viJ9XSwib3JkZXIiOiIwIn0seyJzdHJhdGVnaWVzIjp7IiRyZWYiOiIkLm5vZGVzWzBdLnN0cmF0ZWdpZXNbMV0uZmllbGRQZXJtaXNzaW9ucyJ9LCJkaXNwbGF5Ijp0cnVlLCJuYW1lIjoi57uT5p2f6IqC54K5IiwiaWQiOiJ4cUttRFBpV3BZbXpFQWlONkoiLCJ0eXBlIjoiRU5EIiwiYWN0aW9ucyI6eyIkcmVmIjoiJC5ub2Rlc1swXS5zdHJhdGVnaWVzWzFdLmZpZWxkUGVybWlzc2lvbnMifSwib3JkZXIiOiIwIn1dLCJmb3JtIjp7ImNvZGUiOiJsZWF2ZSIsIm5hbWUiOiLor7flgYfljZUiLCJmaWVsZHMiOlt7ImNvZGUiOiJkYXlzIiwiaGlkZGVuIjpmYWxzZSwibmFtZSI6IuWkqeaVsCIsImlkIjoiNjhmNjdiODAtODk2YS00MGI5LTk4OGMtYTI2NTI3NjAyNGMyIiwicGxhY2Vob2xkZXIiOiLor7fovpPlhaXlpKnmlbAiLCJ0eXBlIjoiTlVNQkVSIiwicmVxdWlyZWQiOnRydWV9LHsiY29kZSI6ImRlc2MiLCJoaWRkZW4iOmZhbHNlLCJuYW1lIjoi55CG55SxIiwiaWQiOiJmYmJiZGYwNS03NGMwLTQyNDktYmVhYS1hNzdiZDJmN2RlYTQiLCJwbGFjZWhvbGRlciI6Iuivt+i+k+WFpeeQhueUsSIsInR5cGUiOiJTVFJJTkciLCJyZXF1aXJlZCI6dHJ1ZX1dfSwiY3JlYXRlZE9wZXJhdG9yIjoiMSIsInN0cmF0ZWdpZXMiOlt7ImVuYWJsZSI6dHJ1ZSwic3RyYXRlZ3lUeXBlIjoiSW50ZXJmZXJlU3RyYXRlZ3kifSx7ImVuYWJsZSI6dHJ1ZSwiaW50ZXJ2YWwiOiI2MCIsInN0cmF0ZWd5VHlwZSI6IlVyZ2VTdHJhdGVneSJ9XSwiY3JlYXRlZFRpbWUiOiIxNzczMjIyNDAxMzU0IiwiaWQiOiJySUVtbVFFUFR4MWx6MmlSSFoiLCJ0aXRsZSI6Iuivt+WBh+a1geeoiyIsIm9wZXJhdG9yQ3JlYXRlU2NyaXB0IjoiLy8gQFNDUklQVF9USVRMRSDku7vmhI/nlKjmiLdcbi8vIEBTQ1JJUFRfTUVUQSB7XCJ0eXBlXCI6XCJhbnlcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuIHRydWVcbn1cbiJ9";
116+
String data = "data:application/json;base64,eyJ1cGRhdGVkVGltZSI6IjE3NzMzNjE4MjI1NjAiLCJjb2RlIjoieVN2Vmw3NTV6NSIsIm5vZGVzIjpbeyJ2aWV3IjoiZGVmYXVsdCIsInN0cmF0ZWdpZXMiOlt7InNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg5L2g5pyJ5LiA5p2h5b6F5YqeXG5kZWYgcnVuKHJlcXVlc3Qpe1xuICAgIHJldHVybiAn5L2g5pyJ5LiA5p2h5b6F5YqeJ1xufVxuIiwic3RyYXRlZ3lUeXBlIjoiTm9kZVRpdGxlU3RyYXRlZ3kifSx7InN0cmF0ZWd5VHlwZSI6IkZvcm1GaWVsZFBlcm1pc3Npb25TdHJhdGVneSIsImZpZWxkUGVybWlzc2lvbnMiOltdfSx7ImVuYWJsZSI6dHJ1ZSwidHlwZSI6IlJFVk9LRV9DVVJSRU5UIiwic3RyYXRlZ3lUeXBlIjoiUmV2b2tlU3RyYXRlZ3kifV0sImRpc3BsYXkiOnRydWUsIm5hbWUiOiLlvIDlp4voioLngrkiLCJpZCI6Ik1Qa2pIMUZRWThPVm9ha2pNNSIsInR5cGUiOiJTVEFSVCIsImFjdGlvbnMiOlt7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IumAmui/hyJ9LCJpZCI6IjdmcFdzdmdSQnpuTFRHN05ocCIsInR5cGUiOiJQQVNTIiwidGl0bGUiOiLpgJrov4cifSx7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IuS/neWtmCJ9LCJpZCI6InlkZWNoNXQ0M1AxcWdmclBnNSIsInR5cGUiOiJTQVZFIiwidGl0bGUiOiLkv53lrZgifV0sIm9yZGVyIjoiMCJ9LHsidmlldyI6ImRlZmF1bHQiLCJzdHJhdGVnaWVzIjpbeyJ0aW1lb3V0VGltZSI6Ijg2NDAwMDAwIiwidHlwZSI6IlJFTUlORCIsInN0cmF0ZWd5VHlwZSI6IlRpbWVvdXRTdHJhdGVneSJ9LHsidHlwZSI6IlNFUVVFTkNFIiwicGVyY2VudCI6IjAuMCIsInN0cmF0ZWd5VHlwZSI6Ik11bHRpT3BlcmF0b3JBdWRpdFN0cmF0ZWd5In0seyJ0eXBlIjoiQVVUT19QQVNTIiwic3RyYXRlZ3lUeXBlIjoiU2FtZU9wZXJhdG9yQXVkaXRTdHJhdGVneSJ9LHsiZW5hYmxlIjpmYWxzZSwic3RyYXRlZ3lUeXBlIjoiUmVjb3JkTWVyZ2VTdHJhdGVneSJ9LHsidHlwZSI6IlJFU1VNRSIsInN0cmF0ZWd5VHlwZSI6IlJlc3VibWl0U3RyYXRlZ3kifSx7InNpZ25SZXF1aXJlZCI6ZmFsc2UsImFkdmljZVJlcXVpcmVkIjpmYWxzZSwic3RyYXRlZ3lUeXBlIjoiQWR2aWNlU3RyYXRlZ3kifSx7InNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg5Zue6YCA6Iez5byA5aeL6IqC54K5XG4vLyBAU0NSSVBUX01FVEEge1widHlwZVwiOlwibm9kZVwiLFwibm9kZVwiOlwiU1RBUlRcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuICRiaW5kLmNyZWF0ZUVycm9yVGhyb3cocmVxdWVzdC5nZXRTdGFydE5vZGUoKSk7XG59XG4iLCJzdHJhdGVneVR5cGUiOiJFcnJvclRyaWdnZXJTdHJhdGVneSJ9LHsic2NyaXB0IjoiLy8gQFNDUklQVF9USVRMRSDkvaDmnInkuIDmnaHlvoXlip5cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuICfkvaDmnInkuIDmnaHlvoXlip4nXG59XG4iLCJzdHJhdGVneVR5cGUiOiJOb2RlVGl0bGVTdHJhdGVneSJ9LHsic3RyYXRlZ3lUeXBlIjoiRm9ybUZpZWxkUGVybWlzc2lvblN0cmF0ZWd5IiwiZmllbGRQZXJtaXNzaW9ucyI6eyIkcmVmIjoiJC5ub2Rlc1swXS5zdHJhdGVnaWVzWzFdLmZpZWxkUGVybWlzc2lvbnMifX0seyJzY3JpcHQiOiIvLyBAU0NSSVBUX1RJVExFIOa1geeoi+WIm+W7uuiAhVxuLy8gQFNDUklQVF9NRVRBIHtcInR5cGVcIjpcImNyZWF0b3JcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuIFtyZXF1ZXN0LmdldENyZWF0ZWRPcGVyYXRvcigpXVxufVxuIiwic3RyYXRlZ3lUeXBlIjoiT3BlcmF0b3JMb2FkU3RyYXRlZ3kifSx7ImVuYWJsZSI6dHJ1ZSwidHlwZSI6IlJFVk9LRV9DVVJSRU5UIiwic3RyYXRlZ3lUeXBlIjoiUmV2b2tlU3RyYXRlZ3kifV0sImRpc3BsYXkiOnRydWUsIm5hbWUiOiLlrqHmibnoioLngrkiLCJpZCI6InpYT05yamxrT3Y5dlNoN0V1WSIsInR5cGUiOiJBUFBST1ZBTCIsImFjdGlvbnMiOlt7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IumAmui/hyJ9LCJpZCI6IkdjTmQzUHFhTzFKUllXV3pLbyIsInR5cGUiOiJQQVNTIiwidGl0bGUiOiLpgJrov4cifSx7ImVuYWJsZSI6dHJ1ZSwiZGlzcGxheSI6eyJ0aXRsZSI6IuaLkue7nSJ9LCJpZCI6IjRWSDFvS3g3NW41UnlIa2ZaNyIsInR5cGUiOiJSRUpFQ1QiLCJ0aXRsZSI6IuaLkue7nSIsInNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg6L+U5Zue5byA5aeL6IqC54K5XG4vLyBAU0NSSVBUX01FVEEge1widHlwZVwiOlwiU1RBUlRcIn1cbmRlZiBydW4ocmVxdWVzdCl7XG4gICAgcmV0dXJuIHJlcXVlc3QuZ2V0U3RhcnROb2RlKCkuZ2V0SWQoKTtcbn1cbiJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi5L+d5a2YIn0sImlkIjoiZVhUSXZvbHgyQWtrZndLVzAyIiwidHlwZSI6IlNBVkUiLCJ0aXRsZSI6IuS/neWtmCJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi5Yqg562+In0sImlkIjoiRm9zZVUzNVpZT3c3U0pRZk5WIiwidHlwZSI6IkFERF9BVURJVCIsInRpdGxlIjoi5Yqg562+In0seyJlbmFibGUiOnRydWUsImRpc3BsYXkiOnsidGl0bGUiOiLovazlip4ifSwiaWQiOiJ3VkRRRnhFUzhtMGdDV1lnajMiLCJ0eXBlIjoiVFJBTlNGRVIiLCJ0aXRsZSI6Iui9rOWKniJ9LHsiZW5hYmxlIjp0cnVlLCJkaXNwbGF5Ijp7InRpdGxlIjoi6YCA5ZueIn0sImlkIjoiWjk1WEk0QUFnejVlYXdhSGw0IiwidHlwZSI6IlJFVFVSTiIsInRpdGxlIjoi6YCA5ZueIn0seyJlbmFibGUiOnRydWUsImRpc3BsYXkiOnsidGl0bGUiOiLlp5TmtL4ifSwiaWQiOiJXSGoyU3pnRXJLNDdFVHFZcUciLCJ0eXBlIjoiREVMRUdBVEUiLCJ0aXRsZSI6IuWnlOa0viJ9XSwib3JkZXIiOiIwIn0seyJzdHJhdGVnaWVzIjp7IiRyZWYiOiIkLm5vZGVzWzBdLnN0cmF0ZWdpZXNbMV0uZmllbGRQZXJtaXNzaW9ucyJ9LCJkaXNwbGF5Ijp0cnVlLCJuYW1lIjoi57uT5p2f6IqC54K5IiwiaWQiOiJBRDBGRVE0VzRlVGtST0hDVzEiLCJ0eXBlIjoiRU5EIiwiYWN0aW9ucyI6eyIkcmVmIjoiJC5ub2Rlc1swXS5zdHJhdGVnaWVzWzFdLmZpZWxkUGVybWlzc2lvbnMifSwib3JkZXIiOiIwIn1dLCJmb3JtIjp7ImNvZGUiOiJsZWF2ZSIsIm5hbWUiOiLor7flgYfljZUiLCJmaWVsZHMiOlt7ImNvZGUiOiJkYXlzIiwiaGlkZGVuIjpmYWxzZSwiZGF0YVR5cGUiOiJOVU1CRVIiLCJuYW1lIjoi5aSp5pWwIiwiaWQiOiI0ZmM4YzVlMi0zOGE4LTRhNzItODJhMy1kOWM2OWNjMmIxYmUiLCJwbGFjZWhvbGRlciI6Iuivt+i+k+WFpeWkqeaVsCIsInR5cGUiOiJudW1iZXIiLCJyZXF1aXJlZCI6dHJ1ZX0seyJjb2RlIjoiZGVzYyIsImhpZGRlbiI6ZmFsc2UsImRhdGFUeXBlIjoiU1RSSU5HIiwibmFtZSI6IueQhueUsSIsImlkIjoiMWJlNjAzMzgtY2QzYy00NDFiLWIwYjctMzNjYmIzMjBmOTgyIiwicGxhY2Vob2xkZXIiOiLor7fovpPlhaXnkIbnlLEiLCJ0eXBlIjoic3RyaW5nIiwicmVxdWlyZWQiOnRydWV9XX0sImNyZWF0ZWRPcGVyYXRvciI6IjEiLCJzdHJhdGVnaWVzIjpbeyJlbmFibGUiOnRydWUsInN0cmF0ZWd5VHlwZSI6IkludGVyZmVyZVN0cmF0ZWd5In0seyJlbmFibGUiOnRydWUsImludGVydmFsIjoiNjAiLCJzdHJhdGVneVR5cGUiOiJVcmdlU3RyYXRlZ3kifV0sImNyZWF0ZWRUaW1lIjoiMTc3MzM2MTI2OTg0OSIsImlkIjoiem9jd0ptWW1lOURFRlBvQTA4IiwidGl0bGUiOiLor7flgYfmtYHnqIsiLCJvcGVyYXRvckNyZWF0ZVNjcmlwdCI6Ii8vIEBTQ1JJUFRfVElUTEUg5Lu75oSP55So5oi3XG4vLyBAU0NSSVBUX01FVEEge1widHlwZVwiOlwiYW55XCJ9XG5kZWYgcnVuKHJlcXVlc3Qpe1xuICAgIHJldHVybiB0cnVlXG59XG4ifQ==";
117117
String workId = factory.workflowService.importWorkflow(data);
118118
Workflow workflow = factory.workflowService.getWorkflow(workId);
119119
assertEquals("leave", workflow.getForm().getCode());

flow-frontend

Submodule flow-frontend updated 103 files

0 commit comments

Comments
 (0)