use of com.hack23.cia.service.external.common.api.XmlAgentException in project cia by Hack23.
the class RiksdagenDocumentApiImpl method loadAndProcessDocumentList.
/**
* Load and process document list.
*
* @param url
* the url
* @param processStrategy
* the process strategy
* @throws Exception
* the exception
*/
private void loadAndProcessDocumentList(final String url, final ProcessDataStrategy<DocumentElement> processStrategy) throws XmlAgentException {
final DocumentContainerElement dokumentLista = ((JAXBElement<DocumentContainerElement>) xmlAgent.unmarshallXml(riksdagenDocumentListMarshaller, url, HTTP_DOKUMENTLISTA_RIKSDAGEN_EXTERNAL_MODEL_CIA_HACK23_COM_IMPL, null, null)).getValue();
int resultSize = dokumentLista.getDokument().size();
processAll(dokumentLista.getDokument(), processStrategy);
final BigInteger pages = dokumentLista.getTotalPages();
for (int i = 1; i < pages.intValue(); i++) {
final DocumentContainerElement otherPagesdokumentLista = ((JAXBElement<DocumentContainerElement>) xmlAgent.unmarshallXml(riksdagenDocumentListMarshaller, url + PAGE_PROPERTY + i, HTTP_DOKUMENTLISTA_RIKSDAGEN_EXTERNAL_MODEL_CIA_HACK23_COM_IMPL, null, null)).getValue();
resultSize = resultSize + otherPagesdokumentLista.getDokument().size();
processAll(otherPagesdokumentLista.getDokument(), processStrategy);
LOGGER.info(LOADING_DOCUMENTS, resultSize, dokumentLista.getHits());
}
}
use of com.hack23.cia.service.external.common.api.XmlAgentException in project cia by Hack23.
the class XmlAgentImplITest method unmarshallXmlMissingNamespaceSuccessTest.
/**
* Unmarshall xml missing namespace success test.
*
* @throws XmlAgentException
* the xml agent exception
*/
@Test
public void unmarshallXmlMissingNamespaceSuccessTest() throws XmlAgentException {
final Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
jaxb2Marshaller.setClassesToBeBound(SimpleXml.class);
final SimpleXml simpleXml = (SimpleXml) xmlAgent.unmarshallXml(jaxb2Marshaller, XmlAgentImplITest.class.getResource("/simplexml-missing-namespace.xml").toString(), "com.hack23.cia.service.external.common.impl.test", null, null);
assertEquals(new SimpleXml("abc123"), simpleXml);
}
use of com.hack23.cia.service.external.common.api.XmlAgentException in project cia by Hack23.
the class XmlAgentImplITest method unmarshallXmlSuccessTest.
/**
* Unmarshall xml success test.
*
* @throws XmlAgentException
* the xml agent exception
*/
@Test
public void unmarshallXmlSuccessTest() throws XmlAgentException {
final Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
jaxb2Marshaller.setClassesToBeBound(SimpleXml.class);
final SimpleXml simpleXml = (SimpleXml) xmlAgent.unmarshallXml(jaxb2Marshaller, XmlAgentImplITest.class.getResource("/simplexml.xml").toString());
assertEquals(new SimpleXml("abc123"), simpleXml);
}
use of com.hack23.cia.service.external.common.api.XmlAgentException in project cia by Hack23.
the class XmlAgentImplITest method unmarshallXmlMissingNamespaceAndReplaceSuccessTest.
/**
* Unmarshall xml missing namespace and replace success test.
*
* @throws XmlAgentException
* the xml agent exception
*/
@Test
public void unmarshallXmlMissingNamespaceAndReplaceSuccessTest() throws XmlAgentException {
final Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
jaxb2Marshaller.setClassesToBeBound(SimpleXml.class);
final SimpleXml simpleXml = (SimpleXml) xmlAgent.unmarshallXml(jaxb2Marshaller, XmlAgentImplITest.class.getResource("/simplexml-missing-namespace.xml").toString(), "com.hack23.cia.service.external.common.impl.test", "abc123", "ABC123");
assertEquals(new SimpleXml("ABC123"), simpleXml);
}
use of com.hack23.cia.service.external.common.api.XmlAgentException in project cia by Hack23.
the class RiksdagenBallotApiImpl method getBallot.
@Override
public List<VoteData> getBallot(final String id) throws DataFailureException {
final String url = BALLOT.replace(ID_KEY, id);
final BallotContainer ballotContainer;
try {
ballotContainer = ((JAXBElement<BallotContainer>) xmlAgent.unmarshallXml(riksdagenBallotMarshaller, url, HTTP_VOTERING_RIKSDAGEN_EXTERNAL_MODEL_CIA_HACK23_COM_IMPL, null, null)).getValue();
final List<VoteDataDto> voteDataList = ballotContainer.getBallotDocumentData().getVoteDataList();
final Date ballotDate = tryToFindValidVoteDate(ballotContainer, voteDataList);
final List<VoteData> result = new ArrayList<>();
for (final VoteDataDto voteDataDto : voteDataList) {
final VoteData voteData = new VoteData().withEmbeddedId(new VoteDataEmbeddedId().withBallotId(voteDataDto.getBallotId()).withIntressentId(voteDataDto.getIntressentId()).withIssue(voteDataDto.getIssue()).withConcern(voteDataDto.getConcern()));
voteData.setBankNumber(voteDataDto.getBankNumber());
voteData.setLabel(voteDataDto.getLabel());
voteData.setLastName(voteDataDto.getLastName());
voteData.setBornYear(voteDataDto.getBornYear());
voteData.setFirstName(voteDataDto.getFirstName());
voteData.setPlace(voteDataDto.getPlace());
voteData.setGender(voteDataDto.getGender());
voteData.setFullName(voteDataDto.getFullName());
voteData.setParty(voteDataDto.getParty().toUpperCase(Locale.ENGLISH));
voteData.setRm(voteDataDto.getRm());
voteData.setVote(voteDataDto.getVote());
voteData.setBallotType(voteDataDto.getBallotType());
voteData.setElectoralRegionNumber(voteDataDto.getElectoralRegionNumber());
voteData.setElectoralRegion(voteDataDto.getElectoralRegion());
voteData.setVoteDate(ballotDate);
result.add(voteData);
}
return result;
} catch (final XmlAgentException | ParseException e) {
LOGGER.warn(PROBLEM_GETTING_BALLOT_ID_S_FROM_DATA_RIKSDAGEN_SE, id);
throw new DataFailureException(e);
}
}
Aggregations