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 kr.wisestone.owl.vo.IssueStatusVo;
|
import kr.wisestone.owl.vo.WorkflowTransitionVo;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* Created by wisestone on 2018-01-03.
|
*/
|
public class WorkflowForm {
|
private Long id;
|
private Long workspaceId;
|
private String name;
|
private String description;
|
private List<IssueStatusVo> issueStatusVos = Lists.newArrayList();
|
private List<Long> removeIds = Lists.newArrayList();
|
|
public WorkflowForm(){}
|
|
public static WorkflowForm make(Map<String, Object> params) {
|
WorkflowForm form = ConvertUtil.convertMapToClass(params, WorkflowForm.class);
|
|
if (MapUtil.getLongs(params, "removeIds") != null) {
|
form.setRemoveIds(MapUtil.getLongs(params, "removeIds"));
|
}
|
|
List<Map<String, Object>> tempIssueStatusVos = (List)params.get("issueStatusVos");
|
List<Map<String, Object>> nodes = (List)params.get("nodes");
|
List<Map<String, Object>> links = (List)params.get("links");
|
|
if (tempIssueStatusVos == null) {
|
return form;
|
}
|
|
for (Map<String, Object> issueStatusVo : tempIssueStatusVos) {
|
IssueStatusVo addIssueStatusVo = ConvertUtil.convertMapToClass(issueStatusVo, IssueStatusVo.class);
|
// issueStatus x, y 좌표 값 변경 정보 셋팅
|
for (Map<String, Object> node : nodes) {
|
Long nodeId = MapUtil.getLong(node, "id");
|
|
if (nodeId == null) {
|
break;
|
}
|
|
if (nodeId.equals(addIssueStatusVo.getId())) {
|
addIssueStatusVo.setxLocation((long)Double.parseDouble(MapUtil.getString(node, "x")));
|
addIssueStatusVo.setyLocation((long)Double.parseDouble(MapUtil.getString(node, "y")));
|
break;
|
}
|
}
|
|
List<Map<String, Object>> workflowTransitionVos = (List)issueStatusVo.get("workflowTransitionVos");
|
|
for (Map<String, Object> workflowTransitionVo : workflowTransitionVos) {
|
String workflowTransitionId = MapUtil.getString(workflowTransitionVo, "id");
|
|
if (workflowTransitionId == null) {
|
continue;
|
}
|
|
for (Map<String, Object> link : links) {
|
String linkId = MapUtil.getString(link, "id");
|
|
if (linkId == null) {
|
break;
|
}
|
// 회전 반경 보정 값 셋팅
|
if (workflowTransitionId.equals(linkId)) {
|
workflowTransitionVo.put("correctX", (long)Double.parseDouble(MapUtil.getString(link, "correctX")));
|
workflowTransitionVo.put("correctY", (long)Double.parseDouble(MapUtil.getString(link, "correctY")));
|
workflowTransitionVo.put("direct", MapUtil.getBoolean(link, "direct"));
|
}
|
}
|
}
|
|
|
addIssueStatusVo.setWorkflowTransitionVos(ConvertUtil.convertListToListClass(workflowTransitionVos, WorkflowTransitionVo.class));
|
form.addIssueStatusVos(addIssueStatusVo);
|
}
|
|
return form;
|
}
|
|
public Long getId() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public Long getWorkspaceId() {
|
return workspaceId;
|
}
|
|
public void setWorkspaceId(Long workspaceId) {
|
this.workspaceId = workspaceId;
|
}
|
|
public String getDescription() {
|
return description;
|
}
|
|
public void setDescription(String description) {
|
this.description = description;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public void setName(String name) {
|
this.name = name;
|
}
|
|
public List<IssueStatusVo> getIssueStatusVos() {
|
return issueStatusVos;
|
}
|
|
public void setIssueStatusVos(List<IssueStatusVo> issueStatusVos) {
|
this.issueStatusVos = issueStatusVos;
|
}
|
|
public void addIssueStatusVos(IssueStatusVo issueStatusVo) {
|
this.issueStatusVos.add(issueStatusVo);
|
}
|
|
public List<Long> getRemoveIds() {
|
return removeIds;
|
}
|
|
public void setRemoveIds(List<Long> removeIds) {
|
this.removeIds = removeIds;
|
}
|
|
public void addRemoveIds(Long removeId) {
|
this.removeIds.add(removeId);
|
}
|
}
|