子メタ検索サービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindChildMetaService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipFindChildMetaService;
import service.param.SopFindChildMetaService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
/**
* 子メタ検索サービス(実装)
*/
public class FindChildMetaServiceImpl implements DomainDrivenService,
FindChildMetaService {
/** メタデータリポジトリ */
private MetaDataRepository metaDataRepository = null;
public MetaDataRepository getMetaDataRepository() {
return metaDataRepository;
}
public void setMetaDataRepository(MetaDataRepository metaDataRepository) {
this.metaDataRepository = metaDataRepository;
}
/*
* (非 Javadoc)
*
* @see
* service.DomainDrivenService#doService(service.param.ServiceInputParameter
* )
*/
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからメタデータIDを取得する
Integer metaDataId = ((SipFindChildMetaService) sip).getMetaDataId();
// サービスを実行する
List<MetaDataDto> metaDataDtoList = doService(metaDataId);
// サービス出力パラメータを作成する
SopFindChildMetaService sop = new SopFindChildMetaService(
metaDataDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindChildMetaService#doService(java.lang.Integer)
*/
@Override
public List<MetaDataDto> doService(Integer metaDataId) {
// 子メタ検索を実行する
List<MetaDataDomain> metaDataDomainList = metaDataRepository
.findChildMeta(metaDataId);
// メタデータドメインリストをメタデータDTOリストに変換する
List<MetaDataDto> list = new ArrayList<MetaDataDto>();
for (MetaDataDomain domain : metaDataDomainList) {
MetaDataDto dto = new MetaDataDto();
CopyUtil.copy(domain.getEntity(), dto);
list.add(dto);
}
// 作成したメタデータDTOリストを呼び出し側に戻す
return list;
}
}
0 件のコメント:
コメントを投稿