package org.transgalactica.management.ws.logistics.endpoint.impl;
import java.util.List;
import javax.inject.Inject;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import org.transgalactica.fwk.remote.exception.BusinessExceptionConverter;
import org.transgalactica.fwk.remote.exception.RemoteBusinessException;
import org.transgalactica.fwk.validation.exception.BusinessException;
import org.transgalactica.management.business.logistics.service.HangarService;
import org.transgalactica.management.data.materiel.bo.HangarSearchCriteria;
import org.transgalactica.management.data.materiel.bo.HangarSummary;
import org.transgalactica.management.ws.logistics.data.BasicHangarDto;
import org.transgalactica.management.ws.logistics.endpoint.HangarSei;
import org.transgalactica.management.ws.logistics.mapper.HangarMapper;
@WebService(serviceName = "HangarService", endpointInterface = "org.transgalactica.management.ws.logistics.endpoint.HangarSei")
public class JwsHangarSei implements HangarSei {
@Inject
private BusinessExceptionConverter businessExceptionConverter;
@Inject
private HangarService hangarService;
@Inject
private HangarMapper hangarMapper;
protected JwsHangarSei() {
}
@Override
@WebMethod
@WebResult(name = "BasicHangarDto")
public BasicHangarDto[] rechercherHangars(@WebParam(name = "localisationHangar") String localisationHangar)
throws RemoteBusinessException {
try {
HangarSearchCriteria criteres = hangarMapper.mapToRechercheHangarCriteres(localisationHangar);
List<HangarSummary> hangars = hangarService.rechercherHangars(criteres);
return hangarMapper.mapToHangars(hangars);
}
catch (BusinessException e) {
throw businessExceptionConverter.convert(e);
}
}
}