メタデータ更新サービスの実装クラス。
package service.impl;
import service.DomainDrivenService;
import service.UpdateMetaDataService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipUpdateMetaDataService;
import service.param.SopUpdateMetaDataService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
import entity.MetaData;
/**
* メタデータ更新サービス(実装)
*/
public class UpdateMetaDataServiceImpl implements DomainDrivenService,
UpdateMetaDataService {
/** メタデータリポジトリ */
private MetaDataRepository metaDataRepository = null;
public MetaDataRepository getMetaDataRepository() {
return metaDataRepository;
}
public void setMetaDataRepository(MetaDataRepository metaDataRepository) {
this.metaDataRepository = metaDataRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからメタデータDTOを取得する
MetaDataDto metaDataDto = ((SipUpdateMetaDataService) sip)
.getMetaDataDto();
// サービスを実行する
doService(metaDataDto);
// サービス出力パラメータを作成する
SopUpdateMetaDataService sop = new SopUpdateMetaDataService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.UpdateMetaDataService#doService(dto.MetaDataDto)
*/
@Override
public void doService(MetaDataDto metaDataDto) {
// DTOからエンティティへの詰め替えを行う
MetaData metaData = new MetaData();
CopyUtil.copy(metaDataDto, metaData);
// ドメインを取得する
MetaDataDomain domain = metaDataRepository.getDomain(metaDataDto
.getMetaDataId());
// ドメインの更新処理を呼び出す
domain.update(metaData);
}
}
0 件のコメント:
コメントを投稿