2009-11-11 2 views
1

Quartz Composer를 사용하여 연속 통합 빌드 라디에이터를 만들려고합니다.Quartz Composer - 구조 주요 멤버 버그?

나는 사업과 워크 플로우의 각의 최신 성공을 설명하기 위해 함께 간단한 XML 파일을 넣어 : 이것은 분명히 자세한 정보는하지만 난 그냥 기본 사항에 대한 작업을 얻으려고 할 것이다

<projects> 
    <project> 
    <title>Project A</title> 
    <workflows> 
     <workflow> 
     <title>Build 1.0</title> 
     <status>success</status> 
     </workflow> 
     <workflow> 
     <title>Build 2.0</title> 
     <status>success</status> 
     </workflow> 
    </workflows> 
    </project> 
    <project> 
    <title>Project B</title> 
    <workflows> 
     <workflow> 
     <title>Build 1.0</title> 
     <status>success</status> 
     </workflow> 
    </workflows> 
    </project> 
</projects> 

지금. 컴포지션을 설정하고 XML Downloader를 사용하여 파일 시스템에서 위의 XML 파일을로드합니다.

내가 겪고있는 문제는 다음과 같습니다. 여러 어린이가있는 요소에서 Structure Key Member 패치를 사용하면 여러 명의 자식을 되 찾을 수 있습니다. 단 하나의 자식이있는 요소에서 Structure Key Member를 사용하면 다시 나타납니다. 1 개 항목의 모음 대신에 단일 아이.

나는 예를 들어 조성물에 아래의 문제를 설명했습니다

Quartz Composition

내가 뭔가 잘못하고 있습니까? 이 예상되는 동작입니까? 하위 체인이 QCStructure를 반환하지 않는 이유는 무엇입니까?

답변

2

불행히도 XML Downloader 패치는 인접한 여러 빈 요소를 올바르게 처리하지 못합니다.

<workflows> 
    <workflow project="Project A"> 
    <title>Build 1.0</title> 
    <status>success</status> 
    </workflow> 
    <workflow project="Project A"> 
    <title>Build 2.0</title> 
    <status>success</status> 
    </workflow> 
    <workflow project="Project B"> 
    <title>Build 1.0</title> 
    <status>success</status> 
    </workflow> 
</workflows> 

이 가능한 결과 구조를 생성합니다

한 가지 가능한 해결 방법은 "프로젝트"그룹을 제거하기 위해 XML을 구조 조정하고, 그냥 "프로젝트"각 "워크 플로우"의 속성 할 수 있습니다.

은 (XML Downloader는 XML에서 구조를 구축 할 때, 속성은 그래서 "프로젝트"가 될 수 있고 동일한 결과를 얻을 것, 자식 태그에 해당합니다.)

+0

우물 악취합니다 (XML 다운로더 문제). 내 워크 플로를 래핑하지 않고 구조 키 멤버를 사용하여 "워크 플로"대신 "워크 플로"를 가져 오려고했습니다. 결과적으로 상위 패치는 아무 것도 반환하지 않고 프로젝트 B에서는 단일 워크 플로를 반환하는 맨 아래 체인을 반환합니다. 빈을 내 파일에 던져서 반복 할 때 카운트를 하나씩 줄이는 것이 더 쉽습니다. –

+0

나는 좋은 해결책을 위해 당신의 제안을 조금 더 취할 수 있음을 깨달았다. 나는 프로젝트를 모두 제거하고 각 워크 플로우와 함께 프로젝트 타이틀을 저장하기로 결정했습니다. 이제 막 워크 플로 목록이 많아서 단일 항목 컬렉션에 대해 걱정할 필요가 없습니다. –

+0

내 변경 사항 (제안 사항을 기반으로 함)을 반영하여 답변을 변경할 수 있다면 좋을 것입니다. –