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 issueTypeId;
|
private Long workspaceId;
|
private Long customFieldId;
|
private String customFieldType;
|
/**
|
* 사용자 정의 필드 사용 값
|
*/
|
private List<String> useValues = Lists.newArrayList();
|
/**
|
* 텍스트 필드일 때 검색 값
|
*/
|
private String useValue;
|
private boolean useParentIssueId = true;
|
/**
|
* 이슈 상태 유형(READY / OPEN / CLOSE)
|
*/
|
private String issueStatusType;
|
|
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:
|
case NUMBER:
|
case DATETIME:
|
case IP_ADDRESS:
|
case EMAIL:
|
case SITE:
|
case TEL:
|
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.addUseValue(useValue);
|
}
|
}
|
}
|
break;
|
}
|
|
return condition;
|
}
|
|
public String getIssueStatusType() {
|
return issueStatusType;
|
}
|
|
public void setIssueStatusType(String issueStatusType) {
|
this.issueStatusType = issueStatusType;
|
}
|
|
public Long getIssueTypeId() {
|
return issueTypeId;
|
}
|
|
public void setIssueTypeId(Long issueTypeId) {
|
this.issueTypeId = issueTypeId;
|
}
|
|
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 addUseValue(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;
|
}
|
|
public boolean isUseParentIssueId() {
|
return useParentIssueId;
|
}
|
|
public void setUseParentIssueId(boolean useParentIssueId) {
|
this.useParentIssueId = useParentIssueId;
|
}
|
|
}
|