package kr.wisestone.owl.web.form;
|
|
import com.google.common.collect.Lists;
|
import kr.wisestone.owl.util.ConvertUtil;
|
import kr.wisestone.owl.util.MapUtil;
|
import org.springframework.web.multipart.MultipartFile;
|
import java.io.Serializable;
|
import java.util.*;
|
|
/**
|
*
|
*/
|
public class IssueApiForm implements Serializable {
|
|
public enum ApiType {
|
add,
|
modify
|
}
|
|
private String token;
|
private String title;
|
private String projectKey;
|
private String description;
|
private Long issueTypeId;
|
private Long issueStatusId;
|
private Long priorityId;
|
private Long severityId;
|
private Date startDate;
|
private Date endDate;
|
private Date searchTime;
|
private ApiType apiType;
|
private List<DepartmentForm> departments = Lists.newArrayList();
|
private List<IssueCustomFieldValueForm> issueCustomFieldValues = Lists.newArrayList();
|
private List<Map<String, Object>> CustomFieldValues = Lists.newArrayList();
|
private List<MultipartFile> multipartFiles = Lists.newArrayList();
|
private List<Long> useIssueCustomFieldIds = Lists.newArrayList(); // 사위일감용 사용자필드값
|
private String url; // 탐지 시스템에서만 적용
|
private String comment;
|
|
public IssueApiForm() {
|
}
|
|
|
/**
|
* 사용자 정의 필드 변환
|
* @param customFieldJson 사용자 정의 필드 json
|
*/
|
public void parseCustomFields(String customFieldJson) {
|
|
Map<String, Object> json = ConvertUtil.convertJsonToMap(customFieldJson);
|
List<Map<String, Object>> customFields = (List) MapUtil.getObject(json, "customFields");
|
for (Map<String, Object> customField : customFields) {
|
IssueCustomFieldValueForm issueCustomFieldValueForm = ConvertUtil.convertMapToClass(customField, IssueCustomFieldValueForm.class);
|
this.addIssueCustomFieldValue(issueCustomFieldValueForm);
|
|
Map<String, Object> customFieldVo = new HashMap<>();
|
customFieldVo.put("id", issueCustomFieldValueForm.getCustomFieldId());
|
|
customField.put("customFieldVo", customFieldVo);
|
|
List<String> useValues = Lists.newArrayList();
|
useValues.add(issueCustomFieldValueForm.getUseValue());
|
customField.put("useValues", useValues);
|
|
this.addCustomFieldValue(customField);
|
}
|
}
|
|
public String getToken() {
|
return token;
|
}
|
|
public void setToken(String token) {
|
this.token = token;
|
}
|
|
public String getTitle() {
|
return title;
|
}
|
|
public void setTitle(String title) {
|
this.title = title;
|
}
|
|
public String getProjectKey() {
|
return projectKey;
|
}
|
|
public void setProjectKey(String projectKey) {
|
this.projectKey = projectKey;
|
}
|
|
public String getDescription() {
|
return description;
|
}
|
|
public void setDescription(String description) {
|
this.description = description;
|
}
|
|
public Long getIssueTypeId() {
|
return issueTypeId;
|
}
|
|
public void setIssueTypeId(Long issueTypeId) {
|
this.issueTypeId = issueTypeId;
|
}
|
|
public Long getPriorityId() {
|
return priorityId;
|
}
|
|
public void setPriorityId(Long priorityId) {
|
this.priorityId = priorityId;
|
}
|
|
public Long getSeverityId() {
|
return severityId;
|
}
|
|
public void setSeverityId(Long severityId) {
|
this.severityId = severityId;
|
}
|
|
public List<DepartmentForm> getDepartments() {
|
return departments;
|
}
|
|
public void setDepartments(List<DepartmentForm> departments) {
|
this.departments = departments;
|
}
|
|
public Date getStartDate() {
|
return startDate;
|
}
|
|
public void setStartDate(Date startDate) {
|
this.startDate = startDate;
|
}
|
|
public Date getEndDate() {
|
return endDate;
|
}
|
|
public void setEndDate(Date endDate) {
|
this.endDate = endDate;
|
}
|
|
public Date getSearchTime() {
|
return searchTime;
|
}
|
|
public void setSearchTime(Date searchTime) {
|
this.searchTime = searchTime;
|
}
|
|
public List<IssueCustomFieldValueForm> getIssueCustomFieldValues() {
|
return issueCustomFieldValues;
|
}
|
|
public void setIssueCustomFieldValues(List<IssueCustomFieldValueForm> issueCustomFieldValues) {
|
this.issueCustomFieldValues = issueCustomFieldValues;
|
}
|
|
public void addIssueCustomFieldValue(IssueCustomFieldValueForm issueCustomFieldValueForm) {
|
if (this.issueCustomFieldValues != null) {
|
this.issueCustomFieldValues.add(issueCustomFieldValueForm);
|
}
|
}
|
|
public void addCustomFieldValue(Map<String, Object> map) {
|
if (this.CustomFieldValues != null) {
|
this.CustomFieldValues.add(map);
|
}
|
}
|
|
public List<Map<String, Object>> getCustomFieldValues() {
|
return CustomFieldValues;
|
}
|
|
public void setCustomFieldValues(List<Map<String, Object>> customFieldValues) {
|
CustomFieldValues = customFieldValues;
|
}
|
|
public ApiType getApiType() {
|
return apiType;
|
}
|
|
public void setApiType(ApiType apiType) {
|
this.apiType = apiType;
|
}
|
|
public List<MultipartFile> getMultipartFiles() {
|
return multipartFiles;
|
}
|
|
public void setMultipartFiles(List<MultipartFile> multipartFiles) {
|
this.multipartFiles = multipartFiles;
|
}
|
|
public Long getIssueStatusId() {
|
return issueStatusId;
|
}
|
|
public void setIssueStatusId(Long issueStatusId) {
|
this.issueStatusId = issueStatusId;
|
}
|
|
public List<Long> getUseIssueCustomFieldIds() {
|
return useIssueCustomFieldIds;
|
}
|
|
public void setUseIssueCustomFieldIds(List<Long> useIssueCustomFieldIds) {
|
this.useIssueCustomFieldIds = useIssueCustomFieldIds;
|
}
|
|
public void addUseIssueCustomFieldId(Long customFieldId) {
|
if (this.useIssueCustomFieldIds != null) {
|
this.useIssueCustomFieldIds.add(customFieldId);
|
}
|
}
|
|
public String getUrl() {
|
return url;
|
}
|
|
public void setUrl(String url) {
|
this.url = url;
|
}
|
|
public String getComment() {
|
return comment;
|
}
|
|
public void setComment(String comment) {
|
this.comment = comment;
|
}
|
}
|