use of eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType in project UVMS-ExchangeModule-APP by UnionVMS.
the class LogMapperTest method toModelWhenEntityIsPollLog.
@Test
public void toModelWhenEntityIsPollLog() {
Date dateReceived = new Date();
String guid = "Paradise";
String senderReceiver = "Chris Martin";
boolean incoming = true;
ExchangeLogStatusTypeType status = ExchangeLogStatusTypeType.PROBABLY_TRANSMITTED;
Date fwdDate = new Date();
String recipient = "Viva la vida";
ExchangeLog entity = new ExchangeLog();
entity.setDateReceived(dateReceived);
entity.setGuid(guid);
entity.setSenderReceiver(senderReceiver);
entity.setTransferIncoming(incoming);
entity.setStatus(status);
entity.setFwdDate(fwdDate);
entity.setRecipient(recipient);
entity.setType(LogType.SEND_POLL);
ExchangeLogType model = LogMapper.toModel(entity);
assertEquals(LogType.SEND_POLL, model.getType());
assertEquals(dateReceived, model.getDateRecieved());
assertEquals(guid, model.getGuid());
assertEquals(senderReceiver, model.getSenderReceiver());
assertEquals(incoming, model.isIncoming());
assertEquals(status, model.getStatus());
assertEquals(fwdDate, ((SendPollType) model).getFwdDate());
assertEquals(recipient, ((SendPollType) model).getRecipient());
}
use of eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType in project UVMS-ExchangeModule-APP by UnionVMS.
the class ExchangeLogModelTest method testDataEnrichment.
@Test
@SneakyThrows
public void testDataEnrichment() {
Mockito.when(logDao.getExchangeLogListSearchCount(Mockito.anyString(), Mockito.anyList())).thenReturn(100L);
Mockito.when(logDao.getExchangeLogListPaginated(Mockito.any(Integer.class), Mockito.any(Integer.class), Mockito.anyString(), Mockito.anyList())).thenReturn(logs);
Mockito.when(logDao.getExchangeLogByRangeOfRefGuids(Mockito.anyList())).thenReturn(refLogs);
ExchangeListQuery query = new ExchangeListQuery();
ExchangeListPagination pagin = new ExchangeListPagination();
ExchangeListCriteria exchCrit = new ExchangeListCriteria();
query.setPagination(pagin);
pagin.setListSize(10);
query.setExchangeSearchCriteria(exchCrit);
ListResponseDto exchangeLogListByQuery = exchangeLogModel.getExchangeLogListByQuery(query);
List<ExchangeLogType> exchangeLogList = exchangeLogListByQuery.getExchangeLogList();
ExchangeLogType exchangeLogType1 = exchangeLogList.get(0);
ExchangeLogType exchangeLogType2 = exchangeLogList.get(1);
assertTrue(exchangeLogType1.getRelatedLogData().isEmpty());
assertTrue(!exchangeLogType2.getRelatedLogData().isEmpty());
System.out.println("Done");
}
use of eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType in project UVMS-ExchangeModule-APP by UnionVMS.
the class ExchangeLogModelBean method enrichDtosWithRelatedLogsInfo.
private void enrichDtosWithRelatedLogsInfo(List<ExchangeLogType> exchangeLogList) {
List<String> guids = new ArrayList<>();
for (ExchangeLogType log : exchangeLogList) {
guids.add(log.getGuid());
}
List<ExchangeLog> relatedLogs = logDao.getExchangeLogByRangeOfRefGuids(guids);
if (CollectionUtils.isNotEmpty(relatedLogs)) {
for (ExchangeLog logEntity : relatedLogs) {
RelatedLogInfo refLogInfo = new RelatedLogInfo();
refLogInfo.setGuid(logEntity.getGuid());
refLogInfo.setType(logEntity.getTypeRefType().toString());
for (ExchangeLogType logType : exchangeLogList) {
if (StringUtils.equals(logEntity.getTypeRefGuid(), logType.getGuid())) {
logType.getRelatedLogData().add(refLogInfo);
}
}
}
}
}
use of eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType in project UVMS-ExchangeModule-APP by UnionVMS.
the class ExchangeLogModelBean method getExchangeLogByGuidAndType.
@Override
public ExchangeLogType getExchangeLogByGuidAndType(String guid, TypeRefType typeRefType) throws ExchangeModelException {
ExchangeLogType exchangeLogType;
try {
ExchangeLog exchangeLogByGuid = logDao.getExchangeLogByGuid(guid, typeRefType);
exchangeLogType = LogMapper.toModel(exchangeLogByGuid);
} catch (Exception e) {
LOG.error("[ Error when getting exchange log by GUID. {}] {}", guid, e.getMessage());
exchangeLogType = null;
}
return exchangeLogType;
}
use of eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType in project UVMS-ExchangeModule-APP by UnionVMS.
the class ExchangeLogModelBean method getExchangeLogListByQuery.
@Override
public ListResponseDto getExchangeLogListByQuery(ExchangeListQuery query) throws ExchangeModelException {
if (query == null) {
throw new InputArgumentException("Exchange list query is null");
}
if (query.getPagination() == null) {
throw new InputArgumentException("Pagination in Exchange query is null");
}
if (query.getExchangeSearchCriteria() == null) {
throw new InputArgumentException("No search criterias in Exchange query");
}
try {
ListResponseDto response = new ListResponseDto();
List<ExchangeLogType> exchLogTypes = new ArrayList<>();
Integer page = query.getPagination().getPage();
Integer listSize = query.getPagination().getListSize();
List<SearchValue> searchKeyValues = SearchFieldMapper.mapSearchField(query.getExchangeSearchCriteria().getCriterias());
String sql = SearchFieldMapper.createSelectSearchSql(searchKeyValues, true, query.getSorting());
LOG.info("sql:" + sql);
String countSql = SearchFieldMapper.createCountSearchSql(searchKeyValues, true);
LOG.info("countSql:" + countSql);
Long numberMatches = logDao.getExchangeLogListSearchCount(countSql, searchKeyValues);
List<ExchangeLog> exchangeLogEntityList = logDao.getExchangeLogListPaginated(page, listSize, sql, searchKeyValues);
for (ExchangeLog entity : exchangeLogEntityList) {
exchLogTypes.add(LogMapper.toModel(entity));
}
// Enriches the "first level logs" with info related to the related logs.
enrichDtosWithRelatedLogsInfo(exchLogTypes);
int numberOfPages = (int) (numberMatches / listSize);
if (numberMatches % listSize != 0) {
numberOfPages += 1;
}
response.setTotalNumberOfPages(numberOfPages);
response.setCurrentPage(query.getPagination().getPage());
response.setExchangeLogList(exchLogTypes);
return response;
} catch (ExchangeSearchMapperException | ExchangeDaoException | ParseException ex) {
LOG.error("[ Error when getting ExchangeLogs by query {}] {} ", query, ex.getMessage());
throw new ExchangeModelException(ex.getMessage());
}
}
Aggregations