子サブスタンス検索サービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindChildSubstanceService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipFindChildSubstanceService;
import service.param.SopFindChildSubstanceService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
/**
* 子サブスタンス検索サービス(実装)
*/
public class FindChildSubstanceServiceImpl implements DomainDrivenService,
FindChildSubstanceService {
/** サブスタンスリポジトリ */
private SubstanceRepository substanceRepository = null;
public SubstanceRepository getSubstanceRepository() {
return substanceRepository;
}
public void setSubstanceRepository(SubstanceRepository substanceRepository) {
this.substanceRepository = substanceRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからサブスタンスIDを取得する
Integer substanceId = ((SipFindChildSubstanceService) sip)
.getSubstanceId();
// サービスを実行する
List<SubstanceDto> substanceDtoList = doService(substanceId);
// サービス出力パラメータを作成する
SopFindChildSubstanceService sop = new SopFindChildSubstanceService(
substanceDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindChildSubstanceService#doService(java.lang.Integer)
*/
@Override
public List<SubstanceDto> doService(Integer substanceId) {
// 子サブスタンス検索を実行する
List<SubstanceDomain> substanceDomainList = substanceRepository
.findChildSubstance(substanceId);
// サブスタンスドメインリストをサブスタンス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 件のコメント:
コメントを投稿