use of eu.europa.ec.fisheries.schema.exchange.movement.v1.SetReportMovementType in project UVMS-Docker by UnionVMS.
the class SetMovementReportRequestJmsIT method createSetReportMovementType.
/**
* Creates the set report movement type.
*
* @param testAsset
* the test asset
* @param mobileTerminalType
* the mobile terminal type
* @param createMovementRequest
* the create movement request
* @return the sets the movement report request
*/
private SetMovementReportRequest createSetReportMovementType(Asset testAsset, MobileTerminalType mobileTerminalType, CreateMovementRequest createMovementRequest) {
final SetMovementReportRequest request = new SetMovementReportRequest();
request.setUsername("vms_admin_com");
request.setDate(new Date());
request.setMethod(ExchangeModuleMethod.SET_MOVEMENT_REPORT);
request.setPluginType(PluginType.NAF);
final SetReportMovementType movementType = new SetReportMovementType();
request.setRequest(movementType);
movementType.setPluginType(PluginType.NAF);
movementType.setTimestamp(new Date());
movementType.setPluginName(mobileTerminalType.getPlugin().getServiceName());
MovementBaseType movementBaseType = new MovementBaseType();
movementType.setMovement(movementBaseType);
MovementActivityType movementActivityType = new MovementActivityType();
movementBaseType.setActivity(movementActivityType);
AssetId assetId = new AssetId();
movementBaseType.setAssetId(assetId);
assetId.setAssetType(AssetType.VESSEL);
AssetIdList assetIdList = new AssetIdList();
{
assetIdList.setIdType(AssetIdType.GUID);
assetIdList.setValue(testAsset.getAssetId().getGuid());
assetId.getAssetIdList().add(assetIdList);
}
{
assetIdList.setIdType(AssetIdType.IRCS);
assetIdList.setValue(testAsset.getIrcs());
assetId.getAssetIdList().add(assetIdList);
}
{
assetIdList.setIdType(AssetIdType.CFR);
assetIdList.setValue(testAsset.getCfr());
assetId.getAssetIdList().add(assetIdList);
}
{
assetIdList.setIdType(AssetIdType.MMSI);
assetIdList.setValue(testAsset.getMmsiNo());
assetId.getAssetIdList().add(assetIdList);
}
movementBaseType.setAssetName(testAsset.getName());
movementBaseType.setComChannelType(MovementComChannelType.NAF);
movementBaseType.setExternalMarking(testAsset.getExternalMarking());
movementBaseType.setFlagState(testAsset.getCountryCode());
movementBaseType.setInternalReferenceNumber(testAsset.getIrcs());
movementBaseType.setIrcs(testAsset.getIrcs());
movementBaseType.setMmsi(testAsset.getMmsiNo());
MobileTerminalId mobileTerminalId = new MobileTerminalId();
mobileTerminalId.setConnectId(mobileTerminalType.getConnectId());
mobileTerminalId.setGuid(mobileTerminalType.getMobileTerminalId().getGuid());
movementBaseType.setMobileTerminalId(mobileTerminalId);
movementBaseType.setMovementType(MovementTypeType.POS);
MovementPoint movementPoint = new MovementPoint();
movementPoint.setLongitude(createMovementRequest.getMovement().getPosition().getLongitude());
movementPoint.setLatitude(createMovementRequest.getMovement().getPosition().getLatitude());
movementPoint.setAltitude(createMovementRequest.getMovement().getPosition().getAltitude());
movementBaseType.setPosition(movementPoint);
movementBaseType.setPositionTime(new Date());
movementBaseType.setReportedCourse(1d);
movementBaseType.setReportedSpeed(1d);
movementBaseType.setSource(MovementSourceType.INMARSAT_C);
movementBaseType.setTripNumber(1d);
return request;
}
use of eu.europa.ec.fisheries.schema.exchange.movement.v1.SetReportMovementType in project UVMS-ExchangeModule-APP by UnionVMS.
the class ExchangeEventIncomingServiceBean method handleProcessedMovement.
// Async response handler for processed movements
@Override
public void handleProcessedMovement(@Observes @HandleProcessedMovementEvent ExchangeMessageEvent message) {
try {
ProcessedMovementResponse request = JAXBMarshaller.unmarshallTextMessage(message.getJmsMessage(), ProcessedMovementResponse.class);
log.debug("Received processed movement from Rules:{}", request);
String username;
MovementRefType movementRefType = request.getMovementRefType();
SetReportMovementType orgRequest = request.getOrgRequest();
if (PluginType.MANUAL.equals(orgRequest.getPluginType())) {
username = request.getUsername();
} else {
username = orgRequest.getPluginName();
}
ExchangeLogType log = ExchangeLogMapper.getReceivedMovementExchangeLog(orgRequest, movementRefType.getMovementRefGuid(), movementRefType.getType().value(), username);
ExchangeLogType createdLog = exchangeLog.log(log, username);
LogRefType logTypeRef = createdLog.getTypeRef();
if (logTypeRef != null && logTypeRef.getType() == TypeRefType.POLL) {
String pollGuid = logTypeRef.getRefGuid();
pollEvent.fire(new NotificationMessage("guid", pollGuid));
}
} catch (ExchangeLogException | ExchangeModelMarshallException e) {
log.error(e.getMessage());
}
}
Aggregations