Search in sources :

Example 1 with SetReportMovementType

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;
}
Also used : MovementActivityType(eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementActivityType) AssetIdList(eu.europa.ec.fisheries.schema.exchange.movement.asset.v1.AssetIdList) MovementBaseType(eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementBaseType) MovementPoint(eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementPoint) MobileTerminalId(eu.europa.ec.fisheries.schema.exchange.movement.mobileterminal.v1.MobileTerminalId) SetReportMovementType(eu.europa.ec.fisheries.schema.exchange.movement.v1.SetReportMovementType) AssetId(eu.europa.ec.fisheries.schema.exchange.movement.asset.v1.AssetId) Date(java.util.Date) SetMovementReportRequest(eu.europa.ec.fisheries.schema.exchange.module.v1.SetMovementReportRequest)

Example 2 with SetReportMovementType

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());
    }
}
Also used : ExchangeModelMarshallException(eu.europa.ec.fisheries.uvms.exchange.model.exception.ExchangeModelMarshallException) MovementRefType(eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementRefType) NotificationMessage(eu.europa.ec.fisheries.uvms.longpolling.notifications.NotificationMessage) ExchangeLogType(eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType) ExchangeLogException(eu.europa.ec.fisheries.uvms.exchange.service.exception.ExchangeLogException) LogRefType(eu.europa.ec.fisheries.schema.exchange.v1.LogRefType) SetReportMovementType(eu.europa.ec.fisheries.schema.exchange.movement.v1.SetReportMovementType) ProcessedMovementResponse(eu.europa.ec.fisheries.schema.exchange.module.v1.ProcessedMovementResponse)

Aggregations

SetReportMovementType (eu.europa.ec.fisheries.schema.exchange.movement.v1.SetReportMovementType)2 ProcessedMovementResponse (eu.europa.ec.fisheries.schema.exchange.module.v1.ProcessedMovementResponse)1 SetMovementReportRequest (eu.europa.ec.fisheries.schema.exchange.module.v1.SetMovementReportRequest)1 AssetId (eu.europa.ec.fisheries.schema.exchange.movement.asset.v1.AssetId)1 AssetIdList (eu.europa.ec.fisheries.schema.exchange.movement.asset.v1.AssetIdList)1 MobileTerminalId (eu.europa.ec.fisheries.schema.exchange.movement.mobileterminal.v1.MobileTerminalId)1 MovementActivityType (eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementActivityType)1 MovementBaseType (eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementBaseType)1 MovementPoint (eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementPoint)1 MovementRefType (eu.europa.ec.fisheries.schema.exchange.movement.v1.MovementRefType)1 ExchangeLogType (eu.europa.ec.fisheries.schema.exchange.v1.ExchangeLogType)1 LogRefType (eu.europa.ec.fisheries.schema.exchange.v1.LogRefType)1 ExchangeModelMarshallException (eu.europa.ec.fisheries.uvms.exchange.model.exception.ExchangeModelMarshallException)1 ExchangeLogException (eu.europa.ec.fisheries.uvms.exchange.service.exception.ExchangeLogException)1 NotificationMessage (eu.europa.ec.fisheries.uvms.longpolling.notifications.NotificationMessage)1 Date (java.util.Date)1