メタデータIDによるサブスタンス検索サービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindSubstanceByMetaDataIdService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipFindSubstanceByMetaDataIdService;
import service.param.SopFindSubstanceByMetaDataIdService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
/**
* メタデータIDによるサブスタンス検索サービス(実装)
*/
public class FindSubstanceByMetaDataIdServiceImpl implements
DomainDrivenService, FindSubstanceByMetaDataIdService {
/** サブスタンスリポジトリ */
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 metaDataId = ((SipFindSubstanceByMetaDataIdService) sip)
.getMetaDataId();
// サービスを実行する
List<SubstanceDto> substanceDtoList = doService(metaDataId);
// サービス出力パラメータを作成する
SopFindSubstanceByMetaDataIdService sop = new SopFindSubstanceByMetaDataIdService(
substanceDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see
* service.FindSubstanceByMetaDataIdService#doService(java.lang.Integer)
*/
@Override
public List<SubstanceDto> doService(Integer metaDataId) {
// メタデータIDによるサブスタンス検索を実行する
List<SubstanceDomain> substanceDomainList = substanceRepository
.findSubstanceByMetaDataId(metaDataId);
// メタデータドメインリストをメタデータ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 件のコメント:
コメントを投稿