OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-10-14 d680ff9fa4298ad3c0cd12f5f9d87f6c51110480
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package kr.wisestone.owl.web.condition;
 
import com.google.common.collect.Lists;
import kr.wisestone.owl.domain.enumType.CustomFieldType;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.util.MapUtil;
import org.apache.commons.lang3.StringUtils;
 
import java.util.List;
import java.util.Map;
 
/**
 * Created by wisestone on 2018-06-07.
 */
public class IssueCustomFieldValueCondition {
    private Long workspaceId;
    private Long customFieldId;
    private String customFieldType;
    private List<String> useValues = Lists.newArrayList();  //  단일, 다중 일때 검색 값
    private String useValue;    //  텍스트 필드일 때 검색 값
 
    public IssueCustomFieldValueCondition(){}
 
    public static IssueCustomFieldValueCondition make(Map<String, Object> conditions) {
        IssueCustomFieldValueCondition condition = ConvertUtil.convertMapToClass(conditions, IssueCustomFieldValueCondition.class);
 
        CustomFieldType customFieldType = CustomFieldType.valueOf(condition.getCustomFieldType());
 
        switch(customFieldType) {
            case INPUT:
                if (MapUtil.getStrings(conditions, "useValues") != null) {
                    //  공백이 아닌 문자가 들어있을 때만 useValues 값 으로 셋팅한다.
                    for (String useValue : MapUtil.getStrings(conditions, "useValues")) {
                        //  텍스트 필드는 1개밖에 안들어온다.
                        if (!StringUtils.isEmpty(useValue)) {
                            condition.setUseValue(useValue);
                        }
                    }
                }
                break;
            case SINGLE_SELECT:
            case MULTI_SELECT:
                if (MapUtil.getStrings(conditions, "useValues") != null) {
                    //  공백이 아닌 문자가 들어있을 때만 useValues 값 으로 셋팅한다.
                    for (String useValue : MapUtil.getStrings(conditions, "useValues")) {
                        if (!StringUtils.isEmpty(useValue)) {
                            condition.addUseValues(useValue);
                        }
                    }
                }
                break;
        }
 
        return condition;
    }
 
    public Long getWorkspaceId() {
        return workspaceId;
    }
 
    public void setWorkspaceId(Long workspaceId) {
        this.workspaceId = workspaceId;
    }
 
    public Long getCustomFieldId() {
        return customFieldId;
    }
 
    public void setCustomFieldId(Long customFieldId) {
        this.customFieldId = customFieldId;
    }
 
    public List<String> getUseValues() {
        return useValues;
    }
 
    public void setUseValues(List<String> useValues) {
        this.useValues = useValues;
    }
 
    public void addUseValues(String useValue) {
        this.useValues.add(useValue);
    }
 
    public String getUseValue() {
        return useValue;
    }
 
    public void setUseValue(String useValue) {
        this.useValue = useValue;
    }
 
    public String getCustomFieldType() {
        return customFieldType;
    }
 
    public void setCustomFieldType(String customFieldType) {
        this.customFieldType = customFieldType;
    }
}