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.util.*;
|
|
public class IssueApiForm {
|
|
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() {
|
}
|
|
public static IssueApiForm make(Map<String, Object> content, List<MultipartFile> files) {
|
IssueApiForm form = ConvertUtil.convertMapToClass(content, IssueApiForm.class);
|
form.setMultipartFiles(files);
|
|
// api 타입
|
if (MapUtil.getString(content, "apiType") != null) {
|
try {
|
form.setApiType(ApiType.valueOf(MapUtil.getString(content, "apiType")));
|
} catch (Exception ex) {
|
return null;
|
}
|
}
|
|
// 사용자 필드 정보
|
if (MapUtil.getObject(content, "customFields") != null){
|
List<Map<String, Object>> customFields = (List)MapUtil.getObject(content, "customFields");
|
for (Map<String, Object> customField : customFields) {
|
IssueCustomFieldValueForm issueCustomFieldValueForm = ConvertUtil.convertMapToClass(customField, IssueCustomFieldValueForm.class);
|
form.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);
|
|
form.addCustomFieldValue(customField);
|
}
|
}
|
|
// 첨부 파일
|
// if (MapUtil.getObject(content, "files") != null){
|
// form.setFiles((List)MapUtil.getObject(content, "files"));
|
// }
|
return form;
|
}
|
|
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;
|
}
|
}
|