private void populateEvent()

in gemini/src/main/java/deltix/connector/crypto/gemini/GeminiTradeConnector.java [395:422]


    private void populateEvent(final BaseOrderStatus event, final MutableOrderEvent emberEvent) {
        // split ClientOrderID to extract DestinationId and Ember OrderId
        final String clientOrderId = event.getClientOrderId();
        final int index = clientOrderId.indexOf(CLORDID_DELIMITER);
        final long destinationId = AlphanumericCodec.encode(clientOrderId.substring(0, index));
        final String orderId = clientOrderId.substring(index + 1);

        final Contract contract = getContractByBrokerSymbol(event.getSymbol());

        emberEvent.setSourceId(id); // event source is connector itself
        emberEvent.setDestinationId(destinationId); // event destination is order request source
        emberEvent.setOrderId(orderId);
        emberEvent.setExternalOrderId(event.getOrderId());

        emberEvent.setTimestampNs(clock.timeNs());
        emberEvent.setOriginalTimestamp(event.getTimestamp());

        emberEvent.setSymbol(contract.getSymbol());
        emberEvent.setInstrumentType(contract.getSecurityType());

        emberEvent.setSide(GeminiUtil.fromGeminiSide(event.getSide()));
        emberEvent.setEventId(event.getEventId());

        emberEvent.setQuantity(toOrderQuantity(event.getOriginalAmount(), contract));
        emberEvent.setRemainingQuantity(toOrderQuantity(event.getRemainingAmount(), contract));
        emberEvent.setCumulativeQuantity(toOrderQuantity(event.getExecutedAmount(), contract));
        emberEvent.setAveragePrice(toOrderPrice(event.getAvgExecutionPrice(), contract));
    }