package com.nortal.jroad.client.ehr;
import java.math.BigInteger;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.nortal.jroad.client.ehr.database.EhrXRoadDatabase;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENEhitiseAndmedQuery;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENEhitiseAndmedResponse;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENEhitiseOtsingQuery;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENEhitiseOtsingResponse;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENOtsiAadressiAdrTxtQuery;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENOtsiAadressiAdrTxtResponse;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENEhitiseOtsingResponse.ENEhitiseOtsing.Ehitised;
import com.nortal.jroad.client.ehr.types.ee.riik.xtee.ehr.producers.producer.ehr.ENOtsiAadressiAdrTxtResponse.ENOtsiAadressiAdrTxt.Aadress;
import com.nortal.jroad.client.exception.XRoadServiceConsumptionException;
/**
* @author Tanel Tensing
*/
@Service("ehrXTeeService")
public class EhrXTeeServiceImpl implements EhrXTeeService {
@Resource
private EhrXRoadDatabase ehrXRoadDatabase;
/**
* {@inheritDoc}
*
* @see com.nortal.jroad.client.service.EhrXTeeService#findENOtsiAadressiAdrTxt(java.lang.String, java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String,
* java.lang.String)
*/
public List<Aadress> findENOtsiAadressiAdrTxt(ENOtsiAadressiAdrTxtQuery request)
throws XRoadServiceConsumptionException {
ENOtsiAadressiAdrTxtResponse response = ehrXRoadDatabase.enOtsiAadressiAdrTxtV1(request);
return response.getENOtsiAadressiAdrTxt() == null
? null
: response.getENOtsiAadressiAdrTxt().getAadressList();
}
/**
* {@inheritDoc}
*
* @see com.nortal.jroad.client.service.EhrXTeeService#findENEhitiseOtsing(java.math.BigInteger)
*/
public List<Ehitised> findENEhitiseOtsing(BigInteger aadressId) throws XRoadServiceConsumptionException {
ENEhitiseOtsingQuery request = ENEhitiseOtsingQuery.Factory.newInstance();
request.setAadressId(aadressId);
return findENEhitiseOtsing(request);
}
/**
* {@inheritDoc}
*
* @see com.nortal.jroad.client.service.EhrXTeeService#findENEhitiseOtsing(java.math.BigInteger, java.lang.String,
* java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)
*/
public List<Ehitised> findENEhitiseOtsing(ENEhitiseOtsingQuery request) throws XRoadServiceConsumptionException {
ENEhitiseOtsingResponse response = ehrXRoadDatabase.enEhitiseOtsingV1(request);
return response.getENEhitiseOtsing() == null
? null
: response.getENEhitiseOtsing().getEhitisedList();
}
/**
* {@inheritDoc}
*
* @see com.nortal.jroad.client.service.EhrXTeeService#findENEhitiseAndmed(java.math.BigInteger)
*/
public ENEhitiseAndmedResponse findENEhitiseAndmed(BigInteger ehitId) throws XRoadServiceConsumptionException {
ENEhitiseAndmedQuery request = ENEhitiseAndmedQuery.Factory.newInstance();
request.setEhitId(ehitId);
return ehrXRoadDatabase.enEhitiseAndmedV1(request);
}
public void setEhrXRoadDatabase(EhrXRoadDatabase ehrXRoadDatabase) {
this.ehrXRoadDatabase = ehrXRoadDatabase;
}
}