요구사항 #439
closed0%
Description
현재 JiraProjectEntity에 연결된 Set<JiraIssueStatusEntity> 형태
JiraIssueStatusEntity에서 Multi IssueType Id 형태로 프로젝트별 상태(Set<JiraIssueStatusEntity>)를 조회 후 issueType Id가 포함되어있는 상태만 조회해서 가져오는 형태로 처리
이 경우
1 - 10001 2 - 10001 , 10002 3 - 10001. 10002, 10003 4 - 10002 5 - 10003 6 - 10001
좌측이 상태, 우측이 이슈유형일 때
10001의 이슈 유형의 이슈 상태는 1,2,3,6 이고 모두 new 상태 카테고리라고 가정 가장 우선순위가 높은 상태 1이 프리셋으로 설정되었다고 가정
10002의 이슈 유형의 이슈 상태는 2,3,4 일 때 모두 new 상태 카테고리라고 가정 가장우선순위가 높은 상태 2가 프리셋으로 설정되었다고 가정
이 때 10001을 다시 조회하면 1,2가 모두 카테고리 프리셋으로 지정된걸로 보이게 되어 1대1 매핑이 아닌 1:N매핑으로 처리
¶
따라서¶
JiraProjectEntity - Set<JiraIssueTypeEntity> - Set<JiraIssueStatusEntity> 형태로 변경되어야한다고 판단
JiraProjectEntity에는 Set<JiraIssueStatusEntity> 제거
// private Set<JiraIssueStatusEntity> jiraIssueStatusEntities;
// @LazyCollection(LazyCollectionOption.FALSE)
// @JsonManagedReference
// @OneToMany(cascade = CascadeType.ALL)
// @JoinTable(
// name = "GLOBAL_TREE_MAP",
// joinColumns = @JoinColumn(name = "jiraproject_link"),
// inverseJoinColumns = @JoinColumn(name = "jiraissuestatus_link")
// )
// @WhereJoinTable( clause = "filerepository_link IS NULL and " +
// "pdservice_link IS NULL and " +
// "pdserviceversion_link IS NULL and " +
// "jiraserver_link IS NULL and " +
// "jiraissuepriority_link IS NULL and " +
// "jiraissueresolution_link IS NULL and " +
// "jiraissuetype_link IS NULL")
// public Set<JiraIssueStatusEntity> getJiraIssueStatusEntities() { return jiraIssueStatusEntities; }
//
// public void setJiraIssueStatusEntities(Set<JiraIssueStatusEntity> jiraIssueStatusEntities) {
// this.jiraIssueStatusEntities = jiraIssueStatusEntities;
// }
JiraIssueTypeEntity에 Set<JiraIssueStatusEntity> 추가
private Set<JiraIssueStatusEntity> jiraIssueStatusEntities;
@LazyCollection(LazyCollectionOption.FALSE)
@JsonManagedReference
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "GLOBAL_TREE_MAP",
joinColumns = @JoinColumn(name = "jiraissuetype_link"),
inverseJoinColumns = @JoinColumn(name = "jiraissuestatus_link")
)
@WhereJoinTable( clause = "filerepository_link IS NULL and " +
"pdservice_link IS NULL and " +
"pdserviceversion_link IS NULL and " +
"jiraserver_link IS NULL and " +
"jiraproject_link IS NULL and " +
"jiraissuepriority_link IS NULL and " +
"jiraissueresolution_link IS NULL")
public Set<JiraIssueStatusEntity> getJiraIssueStatusEntities() { return jiraIssueStatusEntities; }
public void setJiraIssueStatusEntities(Set<JiraIssueStatusEntity> jiraIssueStatusEntities) {
this.jiraIssueStatusEntities = jiraIssueStatusEntities;
}
영향 코드 확인
- 클라우드 상태 엔티티 갱신 로직
- 이슈 상태 조회 로직 - 2개
- 매핑된 ALM 이슈 상태로 변경 로직
- 룰셋 만드는 로직
No data to display