ルートサブスタンス検索サービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindRootSubstanceService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SopFindRootSubstanceService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
/**
* ルートサブスタンス検索サービス(実装)
*/
public class FindRootSubstanceServiceImpl implements DomainDrivenService,
FindRootSubstanceService {
/** サブスタンスリポジトリ */
private SubstanceRepository substanceRepository = null;
public SubstanceRepository getSubstanceRepository() {
return substanceRepository;
}
public void setSubstanceRepository(SubstanceRepository substanceRepository) {
this.substanceRepository = substanceRepository;
}
/*
* (非 Javadoc)
*
* @see
* service.DomainDrivenService#doService(service.param.ServiceInputParameter
* )
*/
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// サービスを実行する
List<SubstanceDto> substanceDtoList = doService();
// サービス出力パラメータを作成する
SopFindRootSubstanceService sop = new SopFindRootSubstanceService(
substanceDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindRootSubstanceService#doService()
*/
@Override
public List<SubstanceDto> doService() {
// ルートサブスタンス検索を実行する
List<SubstanceDomain> substanceDomainList = substanceRepository
.findRootSubstance();
// サブスタンスドメインリストをサブスタンスDTOリストに変換する
List<SubstanceDto> list = new ArrayList<SubstanceDto>();
for (SubstanceDomain domain : substanceDomainList) {
SubstanceDto dto = new SubstanceDto();
CopyUtil.copy(domain.getEntity(), dto);
list.add(dto);
}
// 作成したメタデータDTOリストを呼び出し側に戻す
return list;
}
}
0 件のコメント:
コメントを投稿