サブスタンス更新サービスの実装クラス。
package service.impl;
import service.DomainDrivenService;
import service.UpdateSubstanceService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipUpdateSubstanceService;
import service.param.SopUpdateSubstanceService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
import entity.Substance;
/**
* サブスタンス更新サービス(実装)
*/
public class UpdateSubstanceServiceImpl implements DomainDrivenService,
UpdateSubstanceService {
/** サブスタンスリポジトリ */
private SubstanceRepository substanceRepository = null;
public SubstanceRepository getSubstanceRepository() {
return substanceRepository;
}
public void setSubstanceRepository(SubstanceRepository substanceRepository) {
this.substanceRepository = substanceRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからサブスタンスDTOを取得する
SubstanceDto substanceDto = ((SipUpdateSubstanceService) sip)
.getSubstanceDto();
// サービスを実行する
doService(substanceDto);
// サービス出力パラメータを作成する
SopUpdateSubstanceService sop = new SopUpdateSubstanceService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.UpdateSubstanceService#doService(dto.SubstanceDto)
*/
@Override
public void doService(SubstanceDto substanceDto) {
// DTOからエンティティへの詰め替えを行う
Substance substance = new Substance();
CopyUtil.copy(substanceDto, substance);
// ドメインを取得する
SubstanceDomain domain = substanceRepository.getDomain(substanceDto
.getSubstanceId());
// ドメインの更新処理を呼び出す
domain.update(substance);
}
}
2015年7月19日日曜日
[メタデータエディタ]UpdateMetaDataServiceImpl
メタデータ更新サービスの実装クラス。
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);
}
}
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);
}
}
[メタデータエディタ]ServiceFactory
サービスファクトリクラス。
package service.impl;
import di.DiConfig;
/**
* サービスファクトリ
*/
public class ServiceFactory {
/** サービスファクトリのインスタンス */
private static ServiceFactory serviceFactory = null;
/**
* インスタンス取得
*
* @return インスタンス
*/
public static ServiceFactory getInstance() {
if (serviceFactory == null) {
serviceFactory = new ServiceFactory();
}
return serviceFactory;
}
/**
* サービス名をキーとして、サービスを取得します。
*
* @param serviceName
* サービス名
* @return サービス
*/
public Object getService(String serviceName) {
return DiConfig.getInstance().getDiInstance(serviceName);
}
}
package service.impl;
import di.DiConfig;
/**
* サービスファクトリ
*/
public class ServiceFactory {
/** サービスファクトリのインスタンス */
private static ServiceFactory serviceFactory = null;
/**
* インスタンス取得
*
* @return インスタンス
*/
public static ServiceFactory getInstance() {
if (serviceFactory == null) {
serviceFactory = new ServiceFactory();
}
return serviceFactory;
}
/**
* サービス名をキーとして、サービスを取得します。
*
* @param serviceName
* サービス名
* @return サービス
*/
public Object getService(String serviceName) {
return DiConfig.getInstance().getDiInstance(serviceName);
}
}
[メタデータエディタ]SaveFileServiceImpl
ファイル保存サービスの実装クラス。
package service.impl;
import service.DomainDrivenService;
import service.SaveFileService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipSaveFileService;
import service.param.SopSaveFileService;
import domain.MetaDataRepository;
/**
* ファイル保存サービス(実装)
*/
public class SaveFileServiceImpl implements DomainDrivenService,
SaveFileService {
/** メタデータリポジトリ */
private MetaDataRepository metaDataRepository = null;
public MetaDataRepository getMetaDataRepository() {
return metaDataRepository;
}
public void setMetaDataRepository(MetaDataRepository metaDataRepository) {
this.metaDataRepository = metaDataRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからサブスタンスIDを取得する
String fileName = ((SipSaveFileService) sip).getFileName();
// サービスを実行する
doService(fileName);
// サービス出力パラメータを作成する
SopSaveFileService sop = new SopSaveFileService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.SaveFileService#doService(java.lang.String)
*/
@Override
public void doService(String fileName) {
// リポジトリの保存メソッドを呼び出す
metaDataRepository.saveFile(fileName);
}
}
package service.impl;
import service.DomainDrivenService;
import service.SaveFileService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipSaveFileService;
import service.param.SopSaveFileService;
import domain.MetaDataRepository;
/**
* ファイル保存サービス(実装)
*/
public class SaveFileServiceImpl implements DomainDrivenService,
SaveFileService {
/** メタデータリポジトリ */
private MetaDataRepository metaDataRepository = null;
public MetaDataRepository getMetaDataRepository() {
return metaDataRepository;
}
public void setMetaDataRepository(MetaDataRepository metaDataRepository) {
this.metaDataRepository = metaDataRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからサブスタンスIDを取得する
String fileName = ((SipSaveFileService) sip).getFileName();
// サービスを実行する
doService(fileName);
// サービス出力パラメータを作成する
SopSaveFileService sop = new SopSaveFileService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.SaveFileService#doService(java.lang.String)
*/
@Override
public void doService(String fileName) {
// リポジトリの保存メソッドを呼び出す
metaDataRepository.saveFile(fileName);
}
}
[メタデータエディタ]ImportTemplateFileServiceImpl
テンプレートファイルインポートサービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.ImportTemplateFileService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipImportTemplateFileService;
import service.param.SopImportTemplateFileService;
import util.CopyUtil;
import domain.TextConvertDefDomain;
import domain.TextConvertDefRepository;
import dto.TextConvertDefDto;
import entity.TextConvertDef;
/**
* テンプレートファイルインポートサービス(実装)
*/
public class ImportTemplateFileServiceImpl implements DomainDrivenService,
ImportTemplateFileService {
/** テキスト変換定義リポジトリ */
private TextConvertDefRepository textConvertDefRepository = null;
public TextConvertDefRepository getTextConvertDefRepository() {
return textConvertDefRepository;
}
public void setTextConvertDefRepository(
TextConvertDefRepository textConvertDefRepository) {
this.textConvertDefRepository = textConvertDefRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからメタデータDTOを取得する
TextConvertDefDto textConvertDefDto = ((SipImportTemplateFileService) sip)
.getTextConvertDefDto();
// サービスを実行する
List<Integer> textConvertDevIdList = doService(textConvertDefDto);
// サービス出力パラメータを作成する
SopImportTemplateFileService sop = new SopImportTemplateFileService(
textConvertDevIdList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.ImportTemplateFileService#doService(dto.TextConvertDefDto)
*/
@Override
public List<Integer> doService(TextConvertDefDto textConvertDefDto) {
// テンプレートファイルの内容をインポートする
TextConvertDef textConvertDef = new TextConvertDef();
CopyUtil.copy(textConvertDefDto, textConvertDef);
List<TextConvertDefDomain> textConvertDefDomainList = textConvertDefRepository
.importTemplateFile(textConvertDef);
// 新規作成されたテキスト変換定義のテキスト変換定義IDを呼び出し側に戻す
List<Integer> idList = new ArrayList<Integer>();
for (TextConvertDefDomain textConvertDefDomain : textConvertDefDomainList) {
idList.add(textConvertDefDomain.getEntity().getTextConvertDefId());
}
return idList;
}
}
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.ImportTemplateFileService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipImportTemplateFileService;
import service.param.SopImportTemplateFileService;
import util.CopyUtil;
import domain.TextConvertDefDomain;
import domain.TextConvertDefRepository;
import dto.TextConvertDefDto;
import entity.TextConvertDef;
/**
* テンプレートファイルインポートサービス(実装)
*/
public class ImportTemplateFileServiceImpl implements DomainDrivenService,
ImportTemplateFileService {
/** テキスト変換定義リポジトリ */
private TextConvertDefRepository textConvertDefRepository = null;
public TextConvertDefRepository getTextConvertDefRepository() {
return textConvertDefRepository;
}
public void setTextConvertDefRepository(
TextConvertDefRepository textConvertDefRepository) {
this.textConvertDefRepository = textConvertDefRepository;
}
@Override
public ServiceOutputParameter doService(ServiceInputParameter sip) {
// 入力パラメータからメタデータDTOを取得する
TextConvertDefDto textConvertDefDto = ((SipImportTemplateFileService) sip)
.getTextConvertDefDto();
// サービスを実行する
List<Integer> textConvertDevIdList = doService(textConvertDefDto);
// サービス出力パラメータを作成する
SopImportTemplateFileService sop = new SopImportTemplateFileService(
textConvertDevIdList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.ImportTemplateFileService#doService(dto.TextConvertDefDto)
*/
@Override
public List<Integer> doService(TextConvertDefDto textConvertDefDto) {
// テンプレートファイルの内容をインポートする
TextConvertDef textConvertDef = new TextConvertDef();
CopyUtil.copy(textConvertDefDto, textConvertDef);
List<TextConvertDefDomain> textConvertDefDomainList = textConvertDefRepository
.importTemplateFile(textConvertDef);
// 新規作成されたテキスト変換定義のテキスト変換定義IDを呼び出し側に戻す
List<Integer> idList = new ArrayList<Integer>();
for (TextConvertDefDomain textConvertDefDomain : textConvertDefDomainList) {
idList.add(textConvertDefDomain.getEntity().getTextConvertDefId());
}
return idList;
}
}
[メタデータエディタ]FindSubstanceByMetaDataIdServiceImpl
メタデータ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;
}
}
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;
}
}
[メタデータエディタ]FindRootSubstanceServiceImpl
ルートサブスタンス検索サービスの実装クラス。
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;
}
}
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;
}
}
[メタデータエディタ]FindRootMetaServiceImpl
ルートメタ検索サービスの実装クラス。
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindRootMetaService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SopFindRootMetaService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
/**
* ルートメタ検索サービス(実装)
*/
public class FindRootMetaServiceImpl implements DomainDrivenService,
FindRootMetaService {
/** メタデータリポジトリ */
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) {
// サービスを実行する
List<MetaDataDto> metaDataDtoList = doService();
// サービス出力パラメータを作成する
SopFindRootMetaService sop = new SopFindRootMetaService(metaDataDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindRootMetaService#doService()
*/
@Override
public List<MetaDataDto> doService() {
// ルートメタ検索を実行する
List<MetaDataDomain> metaDataDomainList = metaDataRepository
.findRootMeta();
// メタデータドメインリストをメタデータ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;
}
}
package service.impl;
import java.util.ArrayList;
import java.util.List;
import service.DomainDrivenService;
import service.FindRootMetaService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SopFindRootMetaService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
/**
* ルートメタ検索サービス(実装)
*/
public class FindRootMetaServiceImpl implements DomainDrivenService,
FindRootMetaService {
/** メタデータリポジトリ */
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) {
// サービスを実行する
List<MetaDataDto> metaDataDtoList = doService();
// サービス出力パラメータを作成する
SopFindRootMetaService sop = new SopFindRootMetaService(metaDataDtoList);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindRootMetaService#doService()
*/
@Override
public List<MetaDataDto> doService() {
// ルートメタ検索を実行する
List<MetaDataDomain> metaDataDomainList = metaDataRepository
.findRootMeta();
// メタデータドメインリストをメタデータ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;
}
}
[メタデータエディタ]FindRootMetaByMetaDataIdServiceImpl
メタデータIDによるルートメタ検索サービスの実装クラス。
package service.impl;
import service.DomainDrivenService;
import service.FindRootMetaByMetaDataIdService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipFindRootMetaByMetaDataIdService;
import service.param.SopFindRootMetaByMetaDataIdService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
/**
* メタデータIDによるルートメタ検索サービス(実装)
*/
public class FindRootMetaByMetaDataIdServiceImpl implements
DomainDrivenService, FindRootMetaByMetaDataIdService {
/** メタデータリポジトリ */
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 = ((SipFindRootMetaByMetaDataIdService) sip)
.getMetaDataId();
// サービスを実行する
MetaDataDto metaDataDto = doService(metaDataId);
// サービス出力パラメータを作成する
SopFindRootMetaByMetaDataIdService sop = new SopFindRootMetaByMetaDataIdService(
metaDataDto);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindRootMetaByMetaDataIdService#doService(java.lang.Integer)
*/
@Override
public MetaDataDto doService(Integer metaDataId) {
// 指定されたメタデータIDのルートメタを求める
MetaDataDomain domain = metaDataRepository.getDomain(metaDataId);
while (domain.getEntity().getParentMetaDataId() != null) {
domain = metaDataRepository.getDomain(domain.getEntity()
.getParentMetaDataId());
}
// メタデータドメインをメタデータDTOに変換する
MetaDataDto dto = new MetaDataDto();
CopyUtil.copy(domain.getEntity(), dto);
// ルートメタのメタデータDTOを呼び出し側に戻す
return dto;
}
}
package service.impl;
import service.DomainDrivenService;
import service.FindRootMetaByMetaDataIdService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipFindRootMetaByMetaDataIdService;
import service.param.SopFindRootMetaByMetaDataIdService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
/**
* メタデータIDによるルートメタ検索サービス(実装)
*/
public class FindRootMetaByMetaDataIdServiceImpl implements
DomainDrivenService, FindRootMetaByMetaDataIdService {
/** メタデータリポジトリ */
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 = ((SipFindRootMetaByMetaDataIdService) sip)
.getMetaDataId();
// サービスを実行する
MetaDataDto metaDataDto = doService(metaDataId);
// サービス出力パラメータを作成する
SopFindRootMetaByMetaDataIdService sop = new SopFindRootMetaByMetaDataIdService(
metaDataDto);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.FindRootMetaByMetaDataIdService#doService(java.lang.Integer)
*/
@Override
public MetaDataDto doService(Integer metaDataId) {
// 指定されたメタデータIDのルートメタを求める
MetaDataDomain domain = metaDataRepository.getDomain(metaDataId);
while (domain.getEntity().getParentMetaDataId() != null) {
domain = metaDataRepository.getDomain(domain.getEntity()
.getParentMetaDataId());
}
// メタデータドメインをメタデータDTOに変換する
MetaDataDto dto = new MetaDataDto();
CopyUtil.copy(domain.getEntity(), dto);
// ルートメタのメタデータDTOを呼び出し側に戻す
return dto;
}
}
[メタデータエディタ]FindChildSubstanceServiceImpl
子サブスタンス検索サービスの実装クラス。
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;
}
}
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;
}
}
[メタデータエディタ]FindChildMetaServiceImpl
子メタ検索サービスの実装クラス。
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;
}
}
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;
}
}
[メタデータエディタ]DeleteSubstanceServiceImpl
サブスタンス削除サービスの実装クラス
package service.impl;
import service.DeleteSubstanceService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipDeleteSubstanceService;
import service.param.SopDeleteSubstanceService;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
/**
* サブスタンス削除サービス(実装)
*/
public class DeleteSubstanceServiceImpl implements DomainDrivenService,
DeleteSubstanceService {
/** サブスタンスリポジトリ */
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) {
// 入力パラメータからサブスタンスIDを取得する
Integer substanceId = ((SipDeleteSubstanceService) sip)
.getSubstanceId();
// サービスを実行する
doService(substanceId);
// サービス出力パラメータを作成する
SopDeleteSubstanceService sop = new SopDeleteSubstanceService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.DeleteSubstanceService#doService(java.lang.Integer)
*/
@Override
public void doService(Integer substanceId) {
// ドメインを取得する
SubstanceDomain domain = substanceRepository.getDomain(substanceId);
// ドメインの削除処理を呼び出す
domain.delete();
}
}
package service.impl;
import service.DeleteSubstanceService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipDeleteSubstanceService;
import service.param.SopDeleteSubstanceService;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
/**
* サブスタンス削除サービス(実装)
*/
public class DeleteSubstanceServiceImpl implements DomainDrivenService,
DeleteSubstanceService {
/** サブスタンスリポジトリ */
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) {
// 入力パラメータからサブスタンスIDを取得する
Integer substanceId = ((SipDeleteSubstanceService) sip)
.getSubstanceId();
// サービスを実行する
doService(substanceId);
// サービス出力パラメータを作成する
SopDeleteSubstanceService sop = new SopDeleteSubstanceService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.DeleteSubstanceService#doService(java.lang.Integer)
*/
@Override
public void doService(Integer substanceId) {
// ドメインを取得する
SubstanceDomain domain = substanceRepository.getDomain(substanceId);
// ドメインの削除処理を呼び出す
domain.delete();
}
}
[メタデータエディタ]DeleteMetaDataServiceImpl
メタデータ削除サービスの実装クラス。
package service.impl;
import service.DeleteMetaDataService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipDeleteMetaDataService;
import service.param.SopDeleteMetaDataService;
import domain.MetaDataRepository;
/**
* メタデータ削除サービス(実装)
*/
public class DeleteMetaDataServiceImpl implements DomainDrivenService,
DeleteMetaDataService {
/** メタデータリポジトリ */
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 = ((SipDeleteMetaDataService) sip).getMetaDataId();
// サービスを実行する
doService(metaDataId);
// サービス出力パラメータを作成する
SopDeleteMetaDataService sop = new SopDeleteMetaDataService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.DeleteMetaDataService#doService(java.lang.Integer)
*/
@Override
public void doService(Integer metaDataId) {
// 全ての子メタを削除する
metaDataRepository.deleteWithAllChild(metaDataRepository
.getDomain(metaDataId));
}
}
package service.impl;
import service.DeleteMetaDataService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipDeleteMetaDataService;
import service.param.SopDeleteMetaDataService;
import domain.MetaDataRepository;
/**
* メタデータ削除サービス(実装)
*/
public class DeleteMetaDataServiceImpl implements DomainDrivenService,
DeleteMetaDataService {
/** メタデータリポジトリ */
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 = ((SipDeleteMetaDataService) sip).getMetaDataId();
// サービスを実行する
doService(metaDataId);
// サービス出力パラメータを作成する
SopDeleteMetaDataService sop = new SopDeleteMetaDataService();
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.DeleteMetaDataService#doService(java.lang.Integer)
*/
@Override
public void doService(Integer metaDataId) {
// 全ての子メタを削除する
metaDataRepository.deleteWithAllChild(metaDataRepository
.getDomain(metaDataId));
}
}
[メタデータエディタ]CreateSubstanceServiceImpl
サブスタンス新規作成サービスの実装クラス。
package service.impl;
import service.CreateSubstanceService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipCreateSubstanceService;
import service.param.SopCreateSubstanceService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
import entity.Substance;
/**
* サブスタンス新規作成サービス(実装)
*/
public class CreateSubstanceServiceImpl implements DomainDrivenService,
CreateSubstanceService {
/** サブスタンスリポジトリ */
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) {
// 入力パラメータからサブスタンスDTOを取得する
SubstanceDto substanceDto = ((SipCreateSubstanceService) sip)
.getSubstanceDto();
// サービスを実行する
Integer substanceId = doService(substanceDto);
// サービス出力パラメータを作成する
SopCreateSubstanceService sop = new SopCreateSubstanceService(
substanceId);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.CreateSubstanceService#doService(dto.SubstanceDto)
*/
@Override
public Integer doService(SubstanceDto substanceDto) {
// DTOからエンティティへの詰め替えを行う
Substance substance = new Substance();
CopyUtil.copy(substanceDto, substance);
// ドメインを生成する
SubstanceDomain substanceDomain = substanceRepository
.createDomain(substance);
// 新規作成したメタデータのメタデータIDを呼び出し側に戻す
CopyUtil.copy(substanceDomain.getEntity(), substanceDto);
return substanceDomain.getEntity().getSubstanceId();
}
}
package service.impl;
import service.CreateSubstanceService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipCreateSubstanceService;
import service.param.SopCreateSubstanceService;
import util.CopyUtil;
import domain.SubstanceDomain;
import domain.SubstanceRepository;
import dto.SubstanceDto;
import entity.Substance;
/**
* サブスタンス新規作成サービス(実装)
*/
public class CreateSubstanceServiceImpl implements DomainDrivenService,
CreateSubstanceService {
/** サブスタンスリポジトリ */
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) {
// 入力パラメータからサブスタンスDTOを取得する
SubstanceDto substanceDto = ((SipCreateSubstanceService) sip)
.getSubstanceDto();
// サービスを実行する
Integer substanceId = doService(substanceDto);
// サービス出力パラメータを作成する
SopCreateSubstanceService sop = new SopCreateSubstanceService(
substanceId);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.CreateSubstanceService#doService(dto.SubstanceDto)
*/
@Override
public Integer doService(SubstanceDto substanceDto) {
// DTOからエンティティへの詰め替えを行う
Substance substance = new Substance();
CopyUtil.copy(substanceDto, substance);
// ドメインを生成する
SubstanceDomain substanceDomain = substanceRepository
.createDomain(substance);
// 新規作成したメタデータのメタデータIDを呼び出し側に戻す
CopyUtil.copy(substanceDomain.getEntity(), substanceDto);
return substanceDomain.getEntity().getSubstanceId();
}
}
[メタデータエディタ]CreateMetaDataServiceImpl
メタデータ新規作成サービスの実装クラス。
以降のサービス実装クラスは別掲記事にて記載したドメイン駆動サービス(DomainDrivenService)クラスも実装している。(試験的に実装)
package service.impl;
import service.CreateMetaDataService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipCreateMetaDataService;
import service.param.SopCreateMetaDataService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
import entity.MetaData;
/**
* メタデータ新規作成サービス(実装)
*/
public class CreateMetaDataServiceImpl implements DomainDrivenService,
CreateMetaDataService {
/** メタデータリポジトリ */
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) {
// 入力パラメータからメタデータDTOを取得する
MetaDataDto metaDataDto = ((SipCreateMetaDataService) sip)
.getMetaDataDto();
// サービスを実行する
Integer metaDataId = doService(metaDataDto);
// サービス出力パラメータを作成する
SopCreateMetaDataService sop = new SopCreateMetaDataService(metaDataId);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.CreateMetaDataService#doService(dto.MetaDataDto)
*/
@Override
public Integer doService(MetaDataDto metaDataDto) {
// DTOからエンティティへの詰め替えを行う
MetaData metaData = new MetaData();
CopyUtil.copy(metaDataDto, metaData);
// ドメインを生成する
MetaDataDomain metaDataDomain = metaDataRepository
.createDomain(metaData);
// 新規作成したメタデータのメタデータIDを呼び出し側に戻す
CopyUtil.copy(metaDataDomain.getEntity(), metaDataDto);
return metaDataDomain.getEntity().getMetaDataId();
}
}
以降のサービス実装クラスは別掲記事にて記載したドメイン駆動サービス(DomainDrivenService)クラスも実装している。(試験的に実装)
package service.impl;
import service.CreateMetaDataService;
import service.DomainDrivenService;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
import service.param.SipCreateMetaDataService;
import service.param.SopCreateMetaDataService;
import util.CopyUtil;
import domain.MetaDataDomain;
import domain.MetaDataRepository;
import dto.MetaDataDto;
import entity.MetaData;
/**
* メタデータ新規作成サービス(実装)
*/
public class CreateMetaDataServiceImpl implements DomainDrivenService,
CreateMetaDataService {
/** メタデータリポジトリ */
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) {
// 入力パラメータからメタデータDTOを取得する
MetaDataDto metaDataDto = ((SipCreateMetaDataService) sip)
.getMetaDataDto();
// サービスを実行する
Integer metaDataId = doService(metaDataDto);
// サービス出力パラメータを作成する
SopCreateMetaDataService sop = new SopCreateMetaDataService(metaDataId);
// 出力パラメータを作成し、呼び出し側に戻す
return sop;
}
/*
* (非 Javadoc)
*
* @see service.CreateMetaDataService#doService(dto.MetaDataDto)
*/
@Override
public Integer doService(MetaDataDto metaDataDto) {
// DTOからエンティティへの詰め替えを行う
MetaData metaData = new MetaData();
CopyUtil.copy(metaDataDto, metaData);
// ドメインを生成する
MetaDataDomain metaDataDomain = metaDataRepository
.createDomain(metaData);
// 新規作成したメタデータのメタデータIDを呼び出し側に戻す
CopyUtil.copy(metaDataDomain.getEntity(), metaDataDto);
return metaDataDomain.getEntity().getMetaDataId();
}
}
[メタデータエディタ]UpdateSubstanceService
サブスタンス更新サービスのインターフェース。
package service;
import dto.SubstanceDto;
/**
* サブスタンス更新サービス
*/
public interface UpdateSubstanceService {
/**
* サービスを実行します。
*
* @param substanceDto
* 更新するサブスタンス
*/
public void doService(SubstanceDto substanceDto);
}
package service;
import dto.SubstanceDto;
/**
* サブスタンス更新サービス
*/
public interface UpdateSubstanceService {
/**
* サービスを実行します。
*
* @param substanceDto
* 更新するサブスタンス
*/
public void doService(SubstanceDto substanceDto);
}
[メタデータエディタ]UpdateMetaDataService
メタデータ更新サービスのインターフェース。
package service;
import dto.MetaDataDto;
/**
* メタデータ更新サービス
*/
public interface UpdateMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataDto
* 更新するメタデータ
*/
public void doService(MetaDataDto metaDataDto);
}
package service;
import dto.MetaDataDto;
/**
* メタデータ更新サービス
*/
public interface UpdateMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataDto
* 更新するメタデータ
*/
public void doService(MetaDataDto metaDataDto);
}
[メタデータエディタ]SaveFileService
ファイル保存サービスのインターフェース。
package service;
/**
* ファイル保存サービス
*/
public interface SaveFileService {
/**
* サービスを実行します。
*
* @param fileName
* ファイル名
*/
public void doService(String fileName);
}
package service;
/**
* ファイル保存サービス
*/
public interface SaveFileService {
/**
* サービスを実行します。
*
* @param fileName
* ファイル名
*/
public void doService(String fileName);
}
[メタデータエディタ]ImportTemplateFileService
テンプレートファイルインポートサービスのインターフェイス。
package service;
import java.util.List;
import dto.TextConvertDefDto;
/**
* テンプレートファイルインポートサービス
*/
public interface ImportTemplateFileService {
/**
* サービスを実行します。
*
* @param textConvertDefDto
* 新規作成するテキスト変換定義の情報
* @return 新規作成したテキスト変換定義のテキスト変換定義ID
*/
public List<Integer> doService(TextConvertDefDto textConvertDefDto);
}
package service;
import java.util.List;
import dto.TextConvertDefDto;
/**
* テンプレートファイルインポートサービス
*/
public interface ImportTemplateFileService {
/**
* サービスを実行します。
*
* @param textConvertDefDto
* 新規作成するテキスト変換定義の情報
* @return 新規作成したテキスト変換定義のテキスト変換定義ID
*/
public List<Integer> doService(TextConvertDefDto textConvertDefDto);
}
[メタデータエディタ]FindSubstanceByMetaDataIdService
ルートメタIDによるサブスタンス検索サービスのインターフェース。
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* メタデータIDによるサブスタンス検索サービス
*/
public interface FindSubstanceByMetaDataIdService {
/**
* サービスを実行します。
*
* @param metaDataId
* メタデータID
* @return サブスタンスのリスト
*/
public List<SubstanceDto> doService(Integer metaDataId);
}
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* メタデータIDによるサブスタンス検索サービス
*/
public interface FindSubstanceByMetaDataIdService {
/**
* サービスを実行します。
*
* @param metaDataId
* メタデータID
* @return サブスタンスのリスト
*/
public List<SubstanceDto> doService(Integer metaDataId);
}
[メタデータエディタ]FindRootSubstanceService
ルートサブスタンス検索サービスのインターフェース。
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* ルートサブスタンス検索サービス
*/
public interface FindRootSubstanceService {
/**
* サービスを実行します。
*
* @return ルートサブスタンスのリスト
*/
public List<SubstanceDto> doService();
}
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* ルートサブスタンス検索サービス
*/
public interface FindRootSubstanceService {
/**
* サービスを実行します。
*
* @return ルートサブスタンスのリスト
*/
public List<SubstanceDto> doService();
}
[メタデータエディタ]FindRootMetaService
ルートメタ検索サービスのインターフェース。
package service;
import java.util.List;
import dto.MetaDataDto;
/**
* ルートメタ検索サービス
*/
public interface FindRootMetaService {
/**
* サービスを実行します。
*
* @return ルートメタのリスト
*/
public List<MetaDataDto> doService();
}
package service;
import java.util.List;
import dto.MetaDataDto;
/**
* ルートメタ検索サービス
*/
public interface FindRootMetaService {
/**
* サービスを実行します。
*
* @return ルートメタのリスト
*/
public List<MetaDataDto> doService();
}
[メタデータエディタ]FindRootMetaByMetaDataIdService
メタデータIDによるルートメタ検索サービスのインターフェース。
package service;
import dto.MetaDataDto;
/**
* メタデータIDによるルートメタ検索サービス
*/
public interface FindRootMetaByMetaDataIdService {
/**
* サービスを実行します。
*
* @return ルートメタ
*/
public MetaDataDto doService(Integer metaDataId);
}
package service;
import dto.MetaDataDto;
/**
* メタデータIDによるルートメタ検索サービス
*/
public interface FindRootMetaByMetaDataIdService {
/**
* サービスを実行します。
*
* @return ルートメタ
*/
public MetaDataDto doService(Integer metaDataId);
}
[メタデータエディタ]FindChildSubstanceService
子サブスタンス検索サービスのインターフェース。
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* 子サブスタンス検索サービス
*/
public interface FindChildSubstanceService {
/**
* サービスを実行します。
*
* @param substanceId
* サブスタンスID
* @return 子サブスタンスのリスト
*/
public List<SubstanceDto> doService(Integer substanceId);
}
package service;
import java.util.List;
import dto.SubstanceDto;
/**
* 子サブスタンス検索サービス
*/
public interface FindChildSubstanceService {
/**
* サービスを実行します。
*
* @param substanceId
* サブスタンスID
* @return 子サブスタンスのリスト
*/
public List<SubstanceDto> doService(Integer substanceId);
}
[メタデータエディタ]FindChildMetaService
子メタ検索サービスのインターフェース。
package service;
import java.util.List;
import dto.MetaDataDto;
/**
* 子メタ検索サービス
*/
public interface FindChildMetaService {
/**
* サービスを実行します。
*
* @param metaDataId
* メタデータID
* @return 子メタのリスト
*/
public List<MetaDataDto> doService(Integer metaDataId);
}
package service;
import java.util.List;
import dto.MetaDataDto;
/**
* 子メタ検索サービス
*/
public interface FindChildMetaService {
/**
* サービスを実行します。
*
* @param metaDataId
* メタデータID
* @return 子メタのリスト
*/
public List<MetaDataDto> doService(Integer metaDataId);
}
[メタデータエディタ]DomainDrivenService
ドメイン駆動サービスのインターフェース。
package service;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
/**
* ドメイン駆動サービス
*/
public interface DomainDrivenService {
/**
* サービスを実行します。
*
* @param sip
* サービス入力パラメータ
* @return サービス出力パラメータ
*/
public ServiceOutputParameter doService(ServiceInputParameter sip);
}
package service;
import service.param.ServiceInputParameter;
import service.param.ServiceOutputParameter;
/**
* ドメイン駆動サービス
*/
public interface DomainDrivenService {
/**
* サービスを実行します。
*
* @param sip
* サービス入力パラメータ
* @return サービス出力パラメータ
*/
public ServiceOutputParameter doService(ServiceInputParameter sip);
}
[メタデータエディタ]DeleteSubstanceService
サブスタンス削除サービスのインターフェース。
package service;
/**
* サブスタンス削除サービス
*/
public interface DeleteSubstanceService {
/**
* サービスを実行します。
*
* @param substanceId
* 削除するサブスタンスのサブスタンスID
*/
public void doService(Integer substanceId);
}
package service;
/**
* サブスタンス削除サービス
*/
public interface DeleteSubstanceService {
/**
* サービスを実行します。
*
* @param substanceId
* 削除するサブスタンスのサブスタンスID
*/
public void doService(Integer substanceId);
}
[メタデータエディタ]DeleteMetaDataService
メタデータ削除サービスのインターフェース。
package service;
/**
* メタデータ削除サービス
*/
public interface DeleteMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataId
* 削除するメタデータのメタデータID
*/
public void doService(Integer metaDataId);
}
package service;
/**
* メタデータ削除サービス
*/
public interface DeleteMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataId
* 削除するメタデータのメタデータID
*/
public void doService(Integer metaDataId);
}
[メタデータエディタ]CreateSubstanceService
サブスタンス新規作成サービスのインターフェース。
package service;
import dto.SubstanceDto;
/**
* サブスタンス新規作成サービス
*/
public interface CreateSubstanceService {
/**
* サービスを実行します。
*
* @param substanceDto
* サブスタンスDTO
* @return 新規作成したサブスタンスのサブスタンスID
*/
public Integer doService(SubstanceDto substanceDto);
}
package service;
import dto.SubstanceDto;
/**
* サブスタンス新規作成サービス
*/
public interface CreateSubstanceService {
/**
* サービスを実行します。
*
* @param substanceDto
* サブスタンスDTO
* @return 新規作成したサブスタンスのサブスタンスID
*/
public Integer doService(SubstanceDto substanceDto);
}
[メタデータエディタ]CreateMetaDataService
メタデータ新規作成サービスのインターフェース。
以降の記述では、実際に提供するサービスの実装を記述する。
package service;
import dto.MetaDataDto;
/**
* メタデータ新規作成サービス
*/
public interface CreateMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataDto
* 新規作成するメタデータ
* @return 新規作成したメタデータのメタデータID
*/
public Integer doService(MetaDataDto metaDataDto);
}
以降の記述では、実際に提供するサービスの実装を記述する。
package service;
import dto.MetaDataDto;
/**
* メタデータ新規作成サービス
*/
public interface CreateMetaDataService {
/**
* サービスを実行します。
*
* @param metaDataDto
* 新規作成するメタデータ
* @return 新規作成したメタデータのメタデータID
*/
public Integer doService(MetaDataDto metaDataDto);
}
[メタデータエディタ]BusinessRuleViolationException
ビジネスルール違反例外クラス。
package exception;
/**
* ビジネスルール違反例外
*/
public class BusinessRuleViolationException extends RuntimeException {
/** デフォルトシリアルバージョン */
private static final long serialVersionUID = 1L;
/**
* ビジネスルール違反例外を初期化します。
*
* @param e
* 例外
*/
public BusinessRuleViolationException(Exception e) {
// スーパークラスのコンストラクタを呼び出す
super(e);
}
/**
* ビジネスルール違反例外を初期化します。
*
* @param msg
* エラーメッセージ
*/
public BusinessRuleViolationException(String msg) {
// スーパークラスのコンストラクタを呼び出す
super(msg);
}
}
package exception;
/**
* ビジネスルール違反例外
*/
public class BusinessRuleViolationException extends RuntimeException {
/** デフォルトシリアルバージョン */
private static final long serialVersionUID = 1L;
/**
* ビジネスルール違反例外を初期化します。
*
* @param e
* 例外
*/
public BusinessRuleViolationException(Exception e) {
// スーパークラスのコンストラクタを呼び出す
super(e);
}
/**
* ビジネスルール違反例外を初期化します。
*
* @param msg
* エラーメッセージ
*/
public BusinessRuleViolationException(String msg) {
// スーパークラスのコンストラクタを呼び出す
super(msg);
}
}
[メタデータエディタ]ApplicationInternalException
アプリケーション内部例外クラス。
package exception;
/**
* アプリケーション内部例外
*/
public class ApplicationInternalException extends RuntimeException {
/** デフォルトシリアルバージョン */
private static final long serialVersionUID = 1L;
/**
* アプリケーション内部例外を初期化します。
*
* @param e
* 例外
*/
public ApplicationInternalException(Exception e) {
// スーパークラスのコンストラクタを呼び出す
super(e);
}
/**
* アプリケーション内部例外を初期化します。
*
* @param msg
* エラーメッセージ
*/
public ApplicationInternalException(String msg) {
// スーパークラスのコンストラクタを呼び出す
super(msg);
}
}
package exception;
/**
* アプリケーション内部例外
*/
public class ApplicationInternalException extends RuntimeException {
/** デフォルトシリアルバージョン */
private static final long serialVersionUID = 1L;
/**
* アプリケーション内部例外を初期化します。
*
* @param e
* 例外
*/
public ApplicationInternalException(Exception e) {
// スーパークラスのコンストラクタを呼び出す
super(e);
}
/**
* アプリケーション内部例外を初期化します。
*
* @param msg
* エラーメッセージ
*/
public ApplicationInternalException(String msg) {
// スーパークラスのコンストラクタを呼び出す
super(msg);
}
}
[メタデータエディタ]TextConvertLine
テキスト変換行のエンティティクラス。
package entity;
/**
* テキスト変換行
*/
public class TextConvertLine {
/** テキスト変換行ID(主キー、サロゲートキー) */
private Integer textConvertLineId = null;
public Integer getTextConvertLineId() {
return textConvertLineId;
}
public void setTextConvertLineId(Integer textConvertLineId) {
this.textConvertLineId = textConvertLineId;
}
/** 行番号 */
private Integer lineNo = null;
public Integer getLineNo() {
return lineNo;
}
public void setLineNo(Integer lineNo) {
this.lineNo = lineNo;
}
/** 行データ */
private String line = null;
public String getLine() {
return line;
}
public void setLine(String line) {
this.line = line;
}
/** テキスト変換定義ID(外部キー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** テキスト変換定義 */
private TextConvertDef textConvertDef = null;
public TextConvertDef getTextConvertDef() {
return textConvertDef;
}
public void setTextConvertDef(TextConvertDef textConvertDef) {
this.textConvertDef = textConvertDef;
}
}
package entity;
/**
* テキスト変換行
*/
public class TextConvertLine {
/** テキスト変換行ID(主キー、サロゲートキー) */
private Integer textConvertLineId = null;
public Integer getTextConvertLineId() {
return textConvertLineId;
}
public void setTextConvertLineId(Integer textConvertLineId) {
this.textConvertLineId = textConvertLineId;
}
/** 行番号 */
private Integer lineNo = null;
public Integer getLineNo() {
return lineNo;
}
public void setLineNo(Integer lineNo) {
this.lineNo = lineNo;
}
/** 行データ */
private String line = null;
public String getLine() {
return line;
}
public void setLine(String line) {
this.line = line;
}
/** テキスト変換定義ID(外部キー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** テキスト変換定義 */
private TextConvertDef textConvertDef = null;
public TextConvertDef getTextConvertDef() {
return textConvertDef;
}
public void setTextConvertDef(TextConvertDef textConvertDef) {
this.textConvertDef = textConvertDef;
}
}
[メタデータエディタ]TextConvertDef
テキスト変換定義のエンティティクラス。
package entity;
/**
* テキスト変換定義
*/
public class TextConvertDef {
/** テキスト変換定義ID(主キー、サロゲートキー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** 基準ディレクトリ */
private String baseDir = null;
public String getBaseDir() {
return baseDir;
}
public void setBaseDir(String baseDir) {
this.baseDir = baseDir;
}
/** パッケージ */
private String pkg = null;
public String getPkg() {
return pkg;
}
public void setPkg(String pkg) {
this.pkg = pkg;
}
/** ファイル名 */
private String fileName = null;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
package entity;
/**
* テキスト変換定義
*/
public class TextConvertDef {
/** テキスト変換定義ID(主キー、サロゲートキー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** 基準ディレクトリ */
private String baseDir = null;
public String getBaseDir() {
return baseDir;
}
public void setBaseDir(String baseDir) {
this.baseDir = baseDir;
}
/** パッケージ */
private String pkg = null;
public String getPkg() {
return pkg;
}
public void setPkg(String pkg) {
this.pkg = pkg;
}
/** ファイル名 */
private String fileName = null;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
[メタデータエディタ]Substance
サブスタンスのエンティティクラス。
package entity;
/**
* サブスタンス
*/
public class Substance {
/** サブスタンスID(主キー、サロゲートキー) */
private Integer substanceId = null;
public Integer getSubstanceId() {
return substanceId;
}
public void setSubstanceId(Integer substanceId) {
this.substanceId = substanceId;
}
/** データ */
private String data = null;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親サブスタンスID */
private Integer parentSubstanceId = null;
public Integer getParentSubstanceId() {
return parentSubstanceId;
}
public void setParentSubstanceId(Integer parentSubstanceId) {
this.parentSubstanceId = parentSubstanceId;
}
/** メタデータID(外部キー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ */
private MetaData metaData = null;
public MetaData getMetaData() {
return metaData;
}
public void setMetaData(MetaData metaData) {
this.metaData = metaData;
}
}
package entity;
/**
* サブスタンス
*/
public class Substance {
/** サブスタンスID(主キー、サロゲートキー) */
private Integer substanceId = null;
public Integer getSubstanceId() {
return substanceId;
}
public void setSubstanceId(Integer substanceId) {
this.substanceId = substanceId;
}
/** データ */
private String data = null;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親サブスタンスID */
private Integer parentSubstanceId = null;
public Integer getParentSubstanceId() {
return parentSubstanceId;
}
public void setParentSubstanceId(Integer parentSubstanceId) {
this.parentSubstanceId = parentSubstanceId;
}
/** メタデータID(外部キー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ */
private MetaData metaData = null;
public MetaData getMetaData() {
return metaData;
}
public void setMetaData(MetaData metaData) {
this.metaData = metaData;
}
}
[メタデータエディタ]MetaData
メタデータのエンティティクラス。
package entity;
/**
* メタデータ
*/
public class MetaData {
/** メタデータID(主キー、サロゲートキー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ名 */
private String metaDataName = null;
public String getMetaDataName() {
return metaDataName;
}
public void setMetaDataName(String metaDataName) {
this.metaDataName = metaDataName;
}
/** 説明 */
private String description = null;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親メタデータID */
private Integer parentMetaDataId = null;
public Integer getParentMetaDataId() {
return parentMetaDataId;
}
public void setParentMetaDataId(Integer parentMetaDataId) {
this.parentMetaDataId = parentMetaDataId;
}
}
package entity;
/**
* メタデータ
*/
public class MetaData {
/** メタデータID(主キー、サロゲートキー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ名 */
private String metaDataName = null;
public String getMetaDataName() {
return metaDataName;
}
public void setMetaDataName(String metaDataName) {
this.metaDataName = metaDataName;
}
/** 説明 */
private String description = null;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親メタデータID */
private Integer parentMetaDataId = null;
public Integer getParentMetaDataId() {
return parentMetaDataId;
}
public void setParentMetaDataId(Integer parentMetaDataId) {
this.parentMetaDataId = parentMetaDataId;
}
}
[メタデータエディタ]TextConvertLineDto
テキスト変換行のDTOクラス。
package dto;
import util.CopyUtil;
import entity.TextConvertDef;
/**
* テキスト変換行DTO
*/
public class TextConvertLineDto {
/** テキスト変換行ID(主キー、サロゲートキー) */
private Integer textConvertLineId = null;
public Integer getTextConvertLineId() {
return textConvertLineId;
}
public void setTextConvertLineId(Integer textConvertLineId) {
this.textConvertLineId = textConvertLineId;
}
/** 行番号 */
private Integer lineNo = null;
public Integer getLineNo() {
return lineNo;
}
public void setLineNo(Integer lineNo) {
this.lineNo = lineNo;
}
/** 行データ */
private String line = null;
public String getLine() {
return line;
}
public void setLine(String line) {
this.line = line;
}
/** テキスト変換定義ID(外部キー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** テキスト変換定義DTO */
private TextConvertDefDto textConvertDefDto = null;
public TextConvertDefDto getTextConvertDefDto() {
return textConvertDefDto;
}
public void setTextConvertDefDto(TextConvertDefDto textConvertDefDto) {
this.textConvertDefDto = textConvertDefDto;
if (textConvertDefDto != null) {
textConvertDefId = textConvertDefDto.getTextConvertDefId();
}
}
public void setTextConvertDef(TextConvertDef textConvertDef) {
textConvertDefDto = new TextConvertDefDto();
CopyUtil.copy(textConvertDef, textConvertDefDto);
}
}
package dto;
import util.CopyUtil;
import entity.TextConvertDef;
/**
* テキスト変換行DTO
*/
public class TextConvertLineDto {
/** テキスト変換行ID(主キー、サロゲートキー) */
private Integer textConvertLineId = null;
public Integer getTextConvertLineId() {
return textConvertLineId;
}
public void setTextConvertLineId(Integer textConvertLineId) {
this.textConvertLineId = textConvertLineId;
}
/** 行番号 */
private Integer lineNo = null;
public Integer getLineNo() {
return lineNo;
}
public void setLineNo(Integer lineNo) {
this.lineNo = lineNo;
}
/** 行データ */
private String line = null;
public String getLine() {
return line;
}
public void setLine(String line) {
this.line = line;
}
/** テキスト変換定義ID(外部キー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** テキスト変換定義DTO */
private TextConvertDefDto textConvertDefDto = null;
public TextConvertDefDto getTextConvertDefDto() {
return textConvertDefDto;
}
public void setTextConvertDefDto(TextConvertDefDto textConvertDefDto) {
this.textConvertDefDto = textConvertDefDto;
if (textConvertDefDto != null) {
textConvertDefId = textConvertDefDto.getTextConvertDefId();
}
}
public void setTextConvertDef(TextConvertDef textConvertDef) {
textConvertDefDto = new TextConvertDefDto();
CopyUtil.copy(textConvertDef, textConvertDefDto);
}
}
[メタデータエディタ]TextConvertDefDto
テキスト変換定義のDTOクラス。
package dto;
/**
* テキスト変換定義DTO
*/
public class TextConvertDefDto {
/** テキスト変換定義ID(主キー、サロゲートキー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** 基準ディレクトリ */
private String baseDir = null;
public String getBaseDir() {
return baseDir;
}
public void setBaseDir(String baseDir) {
this.baseDir = baseDir;
}
/** パッケージ */
private String pkg = null;
public String getPkg() {
return pkg;
}
public void setPkg(String pkg) {
this.pkg = pkg;
}
/** ファイル名 */
private String fileName = null;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
package dto;
/**
* テキスト変換定義DTO
*/
public class TextConvertDefDto {
/** テキスト変換定義ID(主キー、サロゲートキー) */
private Integer textConvertDefId = null;
public Integer getTextConvertDefId() {
return textConvertDefId;
}
public void setTextConvertDefId(Integer textConvertDefId) {
this.textConvertDefId = textConvertDefId;
}
/** 基準ディレクトリ */
private String baseDir = null;
public String getBaseDir() {
return baseDir;
}
public void setBaseDir(String baseDir) {
this.baseDir = baseDir;
}
/** パッケージ */
private String pkg = null;
public String getPkg() {
return pkg;
}
public void setPkg(String pkg) {
this.pkg = pkg;
}
/** ファイル名 */
private String fileName = null;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
[メタデータエディタ]SubstanceDto
サブスタンスのDTOクラス。
package dto;
import util.CopyUtil;
import entity.MetaData;
/**
* サブスタンスDTO
*/
public class SubstanceDto {
/** サブスタンスID(主キー、サロゲートキー) */
private Integer substanceId = null;
public Integer getSubstanceId() {
return substanceId;
}
public void setSubstanceId(Integer substanceId) {
this.substanceId = substanceId;
}
/** データ */
private String data = null;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親サブスタンスID */
private Integer parentSubstanceId = null;
public Integer getParentSubstanceId() {
return parentSubstanceId;
}
public void setParentSubstanceId(Integer parentSubstanceId) {
this.parentSubstanceId = parentSubstanceId;
}
/** メタデータID(外部キー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータDTO */
private MetaDataDto metaDataDto = null;
public MetaDataDto getMetaDataDto() {
return metaDataDto;
}
public void setMetaDataDto(MetaDataDto metaDataDto) {
this.metaDataDto = metaDataDto;
if (metaDataDto != null) {
metaDataId = metaDataDto.getMetaDataId();
}
}
public void setMetaData(MetaData metaData) {
metaDataDto = new MetaDataDto();
CopyUtil.copy(metaData, metaDataDto);
}
}
package dto;
import util.CopyUtil;
import entity.MetaData;
/**
* サブスタンスDTO
*/
public class SubstanceDto {
/** サブスタンスID(主キー、サロゲートキー) */
private Integer substanceId = null;
public Integer getSubstanceId() {
return substanceId;
}
public void setSubstanceId(Integer substanceId) {
this.substanceId = substanceId;
}
/** データ */
private String data = null;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親サブスタンスID */
private Integer parentSubstanceId = null;
public Integer getParentSubstanceId() {
return parentSubstanceId;
}
public void setParentSubstanceId(Integer parentSubstanceId) {
this.parentSubstanceId = parentSubstanceId;
}
/** メタデータID(外部キー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータDTO */
private MetaDataDto metaDataDto = null;
public MetaDataDto getMetaDataDto() {
return metaDataDto;
}
public void setMetaDataDto(MetaDataDto metaDataDto) {
this.metaDataDto = metaDataDto;
if (metaDataDto != null) {
metaDataId = metaDataDto.getMetaDataId();
}
}
public void setMetaData(MetaData metaData) {
metaDataDto = new MetaDataDto();
CopyUtil.copy(metaData, metaDataDto);
}
}
[メタデータエディタ]MetaDataDto
メタデータのDTOクラス。
ドメイン駆動では、エンティティを直接サービス層に戻さない。これはエンティティが不正に操作され、誤ったデータ更新が行われることを防ぐためである。
DTOクラスはサービス単位で必要に応じて作成する。
package dto;
/**
* メタデータDTO
*/
public class MetaDataDto {
/** メタデータID(主キー、サロゲートキー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ名 */
private String metaDataName = null;
public String getMetaDataName() {
return metaDataName;
}
public void setMetaDataName(String metaDataName) {
this.metaDataName = metaDataName;
}
/** 説明 */
private String description = null;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親メタデータID */
private Integer parentMetaDataId = null;
public Integer getParentMetaDataId() {
return parentMetaDataId;
}
public void setParentMetaDataId(Integer parentMetaDataId) {
this.parentMetaDataId = parentMetaDataId;
}
}
ドメイン駆動では、エンティティを直接サービス層に戻さない。これはエンティティが不正に操作され、誤ったデータ更新が行われることを防ぐためである。
DTOクラスはサービス単位で必要に応じて作成する。
package dto;
/**
* メタデータDTO
*/
public class MetaDataDto {
/** メタデータID(主キー、サロゲートキー) */
private Integer metaDataId = null;
public Integer getMetaDataId() {
return metaDataId;
}
public void setMetaDataId(Integer metaDataId) {
this.metaDataId = metaDataId;
}
/** メタデータ名 */
private String metaDataName = null;
public String getMetaDataName() {
return metaDataName;
}
public void setMetaDataName(String metaDataName) {
this.metaDataName = metaDataName;
}
/** 説明 */
private String description = null;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/** デフォルト値 */
private String defaultValue = null;
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/** 親メタデータID */
private Integer parentMetaDataId = null;
public Integer getParentMetaDataId() {
return parentMetaDataId;
}
public void setParentMetaDataId(Integer parentMetaDataId) {
this.parentMetaDataId = parentMetaDataId;
}
}
TextConvertLineRepository
テキスト変換行のリポジトリクラス。
package domain;
import util.CopyUtil;
import dao.TextConvertLineDao;
import entity.TextConvertLine;
/**
* テキスト変換行リポジトリ
*/
public class TextConvertLineRepository {
/** テキスト変換行DAO */
private TextConvertLineDao textConvertLineDao = null;
public TextConvertLineDao getTextConvertLineDao() {
return textConvertLineDao;
}
public void setTextConvertLineDao(TextConvertLineDao textConvertLineDao) {
this.textConvertLineDao = textConvertLineDao;
}
/** テキスト変換行ドメイン */
private TextConvertLineDomain textConvertLineDomain = null;
public TextConvertLineDomain getTextConvertLineDomain() {
return textConvertLineDomain;
}
public void setTextConvertLineDomain(
TextConvertLineDomain textConvertLineDomain) {
this.textConvertLineDomain = textConvertLineDomain;
}
/**
* ドメインを生成します。
*
* @return 生成したドメイン
*/
public TextConvertLineDomain createDomain(TextConvertLine textConvertLine) {
// 指定されたデータで登録を行う
textConvertLineDao.insert(textConvertLine);
// ドメインを取得し、呼び出し側に戻す
return getDomain(textConvertLine.getTextConvertLineId());
}
/**
* ドメインを取得します。
*
* @param textConvertLineId
* メタデータID
* @return 取得したドメイン
*/
public TextConvertLineDomain getDomain(Integer textConvertLineId) {
// 引数をキーとして、データベースから該当データを取得する
TextConvertLine entity = textConvertLineDao.get(textConvertLineId);
// データが見つからなかった場合は、戻り値nullで呼び出し側に復帰する
if (entity == null) {
return null;
}
// ドメインを生成し、エンティティを設定する
TextConvertLineDomain textConvertLineDomain = new TextConvertLineDomain();
CopyUtil.copy(this.textConvertLineDomain, textConvertLineDomain);
textConvertLineDomain.setEntity(entity);
// 生成したドメインを呼び出し側に戻す
return textConvertLineDomain;
}
}
package domain;
import util.CopyUtil;
import dao.TextConvertLineDao;
import entity.TextConvertLine;
/**
* テキスト変換行リポジトリ
*/
public class TextConvertLineRepository {
/** テキスト変換行DAO */
private TextConvertLineDao textConvertLineDao = null;
public TextConvertLineDao getTextConvertLineDao() {
return textConvertLineDao;
}
public void setTextConvertLineDao(TextConvertLineDao textConvertLineDao) {
this.textConvertLineDao = textConvertLineDao;
}
/** テキスト変換行ドメイン */
private TextConvertLineDomain textConvertLineDomain = null;
public TextConvertLineDomain getTextConvertLineDomain() {
return textConvertLineDomain;
}
public void setTextConvertLineDomain(
TextConvertLineDomain textConvertLineDomain) {
this.textConvertLineDomain = textConvertLineDomain;
}
/**
* ドメインを生成します。
*
* @return 生成したドメイン
*/
public TextConvertLineDomain createDomain(TextConvertLine textConvertLine) {
// 指定されたデータで登録を行う
textConvertLineDao.insert(textConvertLine);
// ドメインを取得し、呼び出し側に戻す
return getDomain(textConvertLine.getTextConvertLineId());
}
/**
* ドメインを取得します。
*
* @param textConvertLineId
* メタデータID
* @return 取得したドメイン
*/
public TextConvertLineDomain getDomain(Integer textConvertLineId) {
// 引数をキーとして、データベースから該当データを取得する
TextConvertLine entity = textConvertLineDao.get(textConvertLineId);
// データが見つからなかった場合は、戻り値nullで呼び出し側に復帰する
if (entity == null) {
return null;
}
// ドメインを生成し、エンティティを設定する
TextConvertLineDomain textConvertLineDomain = new TextConvertLineDomain();
CopyUtil.copy(this.textConvertLineDomain, textConvertLineDomain);
textConvertLineDomain.setEntity(entity);
// 生成したドメインを呼び出し側に戻す
return textConvertLineDomain;
}
}
[メタデータエディタ]TextConvertLineDomain
テキスト変換行のドメインクラス。
package domain;
import dao.TextConvertLineDao;
import entity.TextConvertLine;
/**
* テキスト変換行ドメイン
*/
public class TextConvertLineDomain {
/** テキスト変換行DAO */
private TextConvertLineDao textConvertLineDao = null;
public TextConvertLineDao getTextConvertLineDao() {
return textConvertLineDao;
}
public void setTextConvertLineDao(TextConvertLineDao textConvertLineDao) {
this.textConvertLineDao = textConvertLineDao;
}
/** エンティティ */
private TextConvertLine entity = null;
public TextConvertLine getEntity() {
return entity;
}
public void setEntity(TextConvertLine entity) {
this.entity = entity;
}
}
package domain;
import dao.TextConvertLineDao;
import entity.TextConvertLine;
/**
* テキスト変換行ドメイン
*/
public class TextConvertLineDomain {
/** テキスト変換行DAO */
private TextConvertLineDao textConvertLineDao = null;
public TextConvertLineDao getTextConvertLineDao() {
return textConvertLineDao;
}
public void setTextConvertLineDao(TextConvertLineDao textConvertLineDao) {
this.textConvertLineDao = textConvertLineDao;
}
/** エンティティ */
private TextConvertLine entity = null;
public TextConvertLine getEntity() {
return entity;
}
public void setEntity(TextConvertLine entity) {
this.entity = entity;
}
}
[メタデータエディタ]TextConvertDefRepository
package domain;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import util.CnvUtil;
import util.CopyUtil;
import util.PropUtil;
import dao.SubstanceDao;
import dao.TextConvertDefDao;
import entity.TextConvertDef;
import entity.TextConvertLine;
import exception.ApplicationInternalException;
/**
* テキスト変換定義リポジトリ
*/
public class TextConvertDefRepository {
/** サブスタンスDAO */
private SubstanceDao substanceDao = null;
public SubstanceDao getSubstanceDao() {
return substanceDao;
}
public void setSubstanceDao(SubstanceDao substanceDao) {
this.substanceDao = substanceDao;
}
/** テキスト変換定義DAO */
private TextConvertDefDao textConvertDefDao = null;
public TextConvertDefDao getTextConvertDefDao() {
return textConvertDefDao;
}
public void setTextConvertDefDao(TextConvertDefDao textConvertDefDao) {
this.textConvertDefDao = textConvertDefDao;
}
/** テキスト変換定義ドメイン */
private TextConvertDefDomain textConvertDefDomain = null;
public TextConvertDefDomain getTextConvertDefDomain() {
return textConvertDefDomain;
}
public void setTextConvertDefDomain(
TextConvertDefDomain textConvertDefDomain) {
this.textConvertDefDomain = textConvertDefDomain;
}
/** テキスト変換行リポジトリ */
private TextConvertLineRepository textConvertLineRepository = null;
public TextConvertLineRepository getTextConvertLineRepository() {
return textConvertLineRepository;
}
public void setTextConvertLineRepository(
TextConvertLineRepository textConvertLineRepository) {
this.textConvertLineRepository = textConvertLineRepository;
}
/**
* ドメインを生成します。
*
* @return 生成したドメイン
*/
public TextConvertDefDomain createDomain(TextConvertDef textConvertDef) {
// 指定されたデータで登録を行う
textConvertDefDao.insert(textConvertDef);
// ドメインを取得し、呼び出し側に戻す
return getDomain(textConvertDef.getTextConvertDefId());
}
/**
* ドメインを取得します。
*
* @param textConvertDefId
* メタデータID
* @return 取得したドメイン
*/
public TextConvertDefDomain getDomain(Integer textConvertDefId) {
// 引数をキーとして、データベースから該当データを取得する
TextConvertDef entity = textConvertDefDao.get(textConvertDefId);
// データが見つからなかった場合は、戻り値nullで呼び出し側に復帰する
if (entity == null) {
return null;
}
// ドメインを生成し、エンティティを設定する
TextConvertDefDomain textConvertDefDomain = new TextConvertDefDomain();
CopyUtil.copy(this.textConvertDefDomain, textConvertDefDomain);
textConvertDefDomain.setEntity(entity);
// 生成したドメインを呼び出し側に戻す
return textConvertDefDomain;
}
/**
* テンプレートファイルの内容を解析して、テキスト変換定義を作成します。
*
* @param textConvertDef
* テキスト変換定義
* @return 新規作成したテキスト変換定義ドメイン
*/
public List<TextConvertDefDomain> importTemplateFile(
TextConvertDef textConvertDef) {
// インポートするファイル(フルパス名)を取得する
List<String> filePathList = getFileNameList(textConvertDef);
// 全てのファイルをインポートし、テキスト変換定義ドメインのリストを作成する
List<TextConvertDefDomain> textConvertDefDomainList = new ArrayList<TextConvertDefDomain>();
for (String filePath : filePathList) {
TextConvertDefDomain textConvertDefDomain = importTargetFile(
textConvertDef, filePath);
if (textConvertDefDomain != null) {
textConvertDefDomainList.add(textConvertDefDomain);
}
}
// 作成したテキスト変換定義ドメインのリストを呼び出し側に戻す
return textConvertDefDomainList;
}
/**
* インポートするファイルの存在確認を行います。
*
* @param textConvertDef
*/
private List<String> getFileNameList(TextConvertDef textConvertDef) {
// パス区切り文字を取得する
String pathDelm = PropUtil.get("path.delm");
String pathDelmPkg = PropUtil.get("path.delm.pkg");
// ファイルパスを作成する(パッケージはドットをパス区切り文字に変えてパス名に追加する)
String path = textConvertDef.getBaseDir() + pathDelm
+ textConvertDef.getPkg().replace(pathDelmPkg, pathDelm);
// パスが存在しなければエラーとする
File dir = new File(path);
if (!dir.exists()) {
throw new ApplicationInternalException(
PropUtil.get("msg.err.dirNotFound") + path);
}
// ファイル名のみ、テキスト変換による複数指定を認める
CnvUtil cnvUtil = new CnvUtil(substanceDao,
textConvertDef.getFileName());
List<String> fileNameList = cnvUtil.getAfterConvertList();
// フルパスファイル名を作成し、存在するファイルのみ戻り値のリストに追加する
List<String> filePathList = new ArrayList<String>();
for (String fileName : fileNameList) {
String filePath = path + pathDelm + fileName;
File file = new File(filePath);
if (file.exists()) {
filePathList.add(filePath);
}
}
// 作成したファイルパスリストを呼び出し側に戻す
return filePathList;
}
// TODO 実装が完了。次回はインポートを実際に行ってみる。
// インポートが成功したら、テキスト変換定義に基づきテキストを変換するサービスを実装する。
/**
* ファイルパスで示されるファイルを読み込み、テキスト変換定義をインポートします。
*
* @param filePath
* ファイルパス
* @return テキスト変換定義ドメイン
*/
private TextConvertDefDomain importTargetFile(
TextConvertDef textConvertDef, String filePath) {
BufferedReader br = null;
try {
// ファイルを開く
br = new BufferedReader(new FileReader(filePath));
// テキスト変換定義ドメインを作成する
TextConvertDefDomain textConvertDefDomain = createDomain(textConvertDef);
// ファイルを全て読み込むまでループ
String line = "";
int lineNo = 0;
while ((line = br.readLine()) != null) {
// テキスト変換行ドメインを作成する
TextConvertLine textConvertLine = new TextConvertLine();
textConvertLine.setLineNo(Integer.valueOf(lineNo));
textConvertLine.setLine(line);
textConvertLine.setTextConvertDefId(textConvertDefDomain
.getEntity().getTextConvertDefId());
textConvertLineRepository.createDomain(textConvertLine);
}
} catch (FileNotFoundException e) {
throw new ApplicationInternalException(
PropUtil.get("msg.err.fileNotFound") + filePath);
} catch (IOException e) {
throw new ApplicationInternalException(e);
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
throw new ApplicationInternalException(e);
}
}
}
// 作成したテキスト変換定義を呼び出し側に戻す
return textConvertDefDomain;
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import util.CnvUtil;
import util.CopyUtil;
import util.PropUtil;
import dao.SubstanceDao;
import dao.TextConvertDefDao;
import entity.TextConvertDef;
import entity.TextConvertLine;
import exception.ApplicationInternalException;
/**
* テキスト変換定義リポジトリ
*/
public class TextConvertDefRepository {
/** サブスタンスDAO */
private SubstanceDao substanceDao = null;
public SubstanceDao getSubstanceDao() {
return substanceDao;
}
public void setSubstanceDao(SubstanceDao substanceDao) {
this.substanceDao = substanceDao;
}
/** テキスト変換定義DAO */
private TextConvertDefDao textConvertDefDao = null;
public TextConvertDefDao getTextConvertDefDao() {
return textConvertDefDao;
}
public void setTextConvertDefDao(TextConvertDefDao textConvertDefDao) {
this.textConvertDefDao = textConvertDefDao;
}
/** テキスト変換定義ドメイン */
private TextConvertDefDomain textConvertDefDomain = null;
public TextConvertDefDomain getTextConvertDefDomain() {
return textConvertDefDomain;
}
public void setTextConvertDefDomain(
TextConvertDefDomain textConvertDefDomain) {
this.textConvertDefDomain = textConvertDefDomain;
}
/** テキスト変換行リポジトリ */
private TextConvertLineRepository textConvertLineRepository = null;
public TextConvertLineRepository getTextConvertLineRepository() {
return textConvertLineRepository;
}
public void setTextConvertLineRepository(
TextConvertLineRepository textConvertLineRepository) {
this.textConvertLineRepository = textConvertLineRepository;
}
/**
* ドメインを生成します。
*
* @return 生成したドメイン
*/
public TextConvertDefDomain createDomain(TextConvertDef textConvertDef) {
// 指定されたデータで登録を行う
textConvertDefDao.insert(textConvertDef);
// ドメインを取得し、呼び出し側に戻す
return getDomain(textConvertDef.getTextConvertDefId());
}
/**
* ドメインを取得します。
*
* @param textConvertDefId
* メタデータID
* @return 取得したドメイン
*/
public TextConvertDefDomain getDomain(Integer textConvertDefId) {
// 引数をキーとして、データベースから該当データを取得する
TextConvertDef entity = textConvertDefDao.get(textConvertDefId);
// データが見つからなかった場合は、戻り値nullで呼び出し側に復帰する
if (entity == null) {
return null;
}
// ドメインを生成し、エンティティを設定する
TextConvertDefDomain textConvertDefDomain = new TextConvertDefDomain();
CopyUtil.copy(this.textConvertDefDomain, textConvertDefDomain);
textConvertDefDomain.setEntity(entity);
// 生成したドメインを呼び出し側に戻す
return textConvertDefDomain;
}
/**
* テンプレートファイルの内容を解析して、テキスト変換定義を作成します。
*
* @param textConvertDef
* テキスト変換定義
* @return 新規作成したテキスト変換定義ドメイン
*/
public List<TextConvertDefDomain> importTemplateFile(
TextConvertDef textConvertDef) {
// インポートするファイル(フルパス名)を取得する
List<String> filePathList = getFileNameList(textConvertDef);
// 全てのファイルをインポートし、テキスト変換定義ドメインのリストを作成する
List<TextConvertDefDomain> textConvertDefDomainList = new ArrayList<TextConvertDefDomain>();
for (String filePath : filePathList) {
TextConvertDefDomain textConvertDefDomain = importTargetFile(
textConvertDef, filePath);
if (textConvertDefDomain != null) {
textConvertDefDomainList.add(textConvertDefDomain);
}
}
// 作成したテキスト変換定義ドメインのリストを呼び出し側に戻す
return textConvertDefDomainList;
}
/**
* インポートするファイルの存在確認を行います。
*
* @param textConvertDef
*/
private List<String> getFileNameList(TextConvertDef textConvertDef) {
// パス区切り文字を取得する
String pathDelm = PropUtil.get("path.delm");
String pathDelmPkg = PropUtil.get("path.delm.pkg");
// ファイルパスを作成する(パッケージはドットをパス区切り文字に変えてパス名に追加する)
String path = textConvertDef.getBaseDir() + pathDelm
+ textConvertDef.getPkg().replace(pathDelmPkg, pathDelm);
// パスが存在しなければエラーとする
File dir = new File(path);
if (!dir.exists()) {
throw new ApplicationInternalException(
PropUtil.get("msg.err.dirNotFound") + path);
}
// ファイル名のみ、テキスト変換による複数指定を認める
CnvUtil cnvUtil = new CnvUtil(substanceDao,
textConvertDef.getFileName());
List<String> fileNameList = cnvUtil.getAfterConvertList();
// フルパスファイル名を作成し、存在するファイルのみ戻り値のリストに追加する
List<String> filePathList = new ArrayList<String>();
for (String fileName : fileNameList) {
String filePath = path + pathDelm + fileName;
File file = new File(filePath);
if (file.exists()) {
filePathList.add(filePath);
}
}
// 作成したファイルパスリストを呼び出し側に戻す
return filePathList;
}
// TODO 実装が完了。次回はインポートを実際に行ってみる。
// インポートが成功したら、テキスト変換定義に基づきテキストを変換するサービスを実装する。
/**
* ファイルパスで示されるファイルを読み込み、テキスト変換定義をインポートします。
*
* @param filePath
* ファイルパス
* @return テキスト変換定義ドメイン
*/
private TextConvertDefDomain importTargetFile(
TextConvertDef textConvertDef, String filePath) {
BufferedReader br = null;
try {
// ファイルを開く
br = new BufferedReader(new FileReader(filePath));
// テキスト変換定義ドメインを作成する
TextConvertDefDomain textConvertDefDomain = createDomain(textConvertDef);
// ファイルを全て読み込むまでループ
String line = "";
int lineNo = 0;
while ((line = br.readLine()) != null) {
// テキスト変換行ドメインを作成する
TextConvertLine textConvertLine = new TextConvertLine();
textConvertLine.setLineNo(Integer.valueOf(lineNo));
textConvertLine.setLine(line);
textConvertLine.setTextConvertDefId(textConvertDefDomain
.getEntity().getTextConvertDefId());
textConvertLineRepository.createDomain(textConvertLine);
}
} catch (FileNotFoundException e) {
throw new ApplicationInternalException(
PropUtil.get("msg.err.fileNotFound") + filePath);
} catch (IOException e) {
throw new ApplicationInternalException(e);
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
throw new ApplicationInternalException(e);
}
}
}
// 作成したテキスト変換定義を呼び出し側に戻す
return textConvertDefDomain;
}
}
登録:
投稿 (Atom)