private OutgoingDraftTransactionWrapper convertToBT(DatabaseTableRecord record)
      throws InvalidParameterException {
    //        boolean sameDevice =
    // Boolean.valueOf(record.getStringValue(OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_SAME_DEVICE_COLUMN_NAME));
    String walletPublicKey =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants
                .OUTGOING_DRAFT_WALLET_ID_TO_DEBIT_FROM_COLUMN_NAME);
    UUID transactionId =
        record.getUUIDValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_TRANSACTION_ID_COLUMN_NAME);
    String transactionHash =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_TRANSACTION_HASH_COLUMN_NAME);
    long amount =
        record.getLongValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_CRYPTO_AMOUNT_COLUMN_NAME);
    //        String op_Return =
    // record.getStringValue(OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_OP_RETURN_COLUMN_NAME);
    com.bitdubai.fermat_ccp_plugin.layer.crypto_transaction.outgoing_draft.developer.bitdubai
            .version_1.enums.TransactionState
        state =
            com.bitdubai.fermat_ccp_plugin.layer.crypto_transaction.outgoing_draft.developer
                .bitdubai.version_1.enums.TransactionState.getByCode(
                record.getStringValue(
                    OutgoingDraftTransactionDatabaseConstants
                        .OUTGOING_DRAFT_TRANSACTION_STATUS_COLUMN_NAME));
    long timestamp =
        record.getLongValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_TIMESTAMP_COLUMN_NAME);
    String memo =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_DESCRIPTION_COLUMN_NAME);
    //        CryptoStatus cryptoStatus =
    // CryptoStatus.getByCode(record.getStringValue(OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_CRYPTO_STATUS_COLUMN_NAME));
    Actors actorFromType =
        Actors.getByCode(
            record.getStringValue(
                OutgoingDraftTransactionDatabaseConstants
                    .OUTGOING_DRAFT_ACTOR_FROM_TYPE_COLUMN_NAME));
    Actors actorToType =
        Actors.getByCode(
            record.getStringValue(
                OutgoingDraftTransactionDatabaseConstants
                    .OUTGOING_DRAFT_ACTOR_TO_TYPE_COLUMN_NAME));
    String actorFromPublicKey =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants
                .OUTGOING_DRAFT_ACTOR_FROM_PUBLIC_KEY_COLUMN_NAME);
    String actorToPublicKey =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants
                .OUTGOING_DRAFT_ACTOR_TO_PUBLIC_KEY_COLUMN_NAME);
    ReferenceWallet referenceWallet =
        ReferenceWallet.getByCode(
            record.getStringValue(
                OutgoingDraftTransactionDatabaseConstants
                    .OUTGOING_DRAFT_WALLET_REFERENCE_TYPE_COLUMN_NAME));
    String addressFrom =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_ADDRESS_FROM_COLUMN_NAME);
    String addressTo =
        record.getStringValue(
            OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_ADDRESS_TO_COLUMN_NAME);
    //        CryptoAddress cryptoAddressFrom = null;
    //        if (addressFrom != null) {
    //            cryptoAddressFrom = new CryptoAddress(
    //                    addressFrom,
    //
    // CryptoCurrency.getByCode(OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_CRYPTO_CURRENCY_COLUMN_NAME));
    //        }
    CryptoAddress cryptoAddressTo = null;
    if (addressFrom != null) {
      cryptoAddressTo =
          new CryptoAddress(
              addressTo,
              CryptoCurrency.getByCode(
                  record.getStringValue(
                      OutgoingDraftTransactionDatabaseConstants
                          .OUTGOING_DRAFT_CRYPTO_CURRENCY_COLUMN_NAME)));
    }
    BlockchainNetworkType blockchainNetworkType =
        BlockchainNetworkType.getByCode(
            record.getStringValue(
                OutgoingDraftTransactionDatabaseConstants.OUTGOING_DRAFT_RUNNING_NETWORK_TYPE));

    return new OutgoingDraftTransactionWrapper(
        transactionId,
        walletPublicKey,
        amount,
        cryptoAddressTo,
        referenceWallet,
        blockchainNetworkType,
        actorFromPublicKey,
        actorToPublicKey,
        actorFromType,
        actorToType,
        memo,
        timestamp,
        transactionHash);
  }
Exemplo n.º 2
0
  private ActorAssetNetworkServiceRecord buildAssetUserNetworkServiceRecord(
      DatabaseTableRecord record) throws InvalidParameterException {
    try {
      BlockchainNetworkType blockchainNetworkType;

      UUID notificationId =
          record.getUUIDValue(
              AssetUserNetworkServiceDatabaseConstants.INCOMING_NOTIFICATION_ID_COLUMN_NAME);
      String senderAlias =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_SENDER_ALIAS_COLUMN_NAME);
      String descriptor =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_DESCRIPTOR_COLUMN_NAME);
      String destinationType =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_RECEIVER_TYPE_COLUMN_NAME);
      String senderType =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_SENDER_TYPE_COLUMN_NAME);
      String senderPublicKey =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_SENDER_PUBLIC_KEY_COLUMN_NAME);
      String destinationPublicKey =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_RECEIVER_PUBLIC_KEY_COLUMN_NAME);
      long timestamp =
          record.getLongValue(
              AssetUserNetworkServiceDatabaseConstants.INCOMING_NOTIFICATION_TIMESTAMP_COLUMN_NAME);
      String protocolState =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_PROTOCOL_STATE_COLUMN_NAME);
      String flagRead =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants.INCOMING_NOTIFICATION_READ_MARK_COLUMN_NAME);
      String blockChainNetwork =
          record.getStringValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_BLOCKCHAIN_NETWORK_TYPE_COLUMN_NAME);
      UUID responseToNotificationId =
          record.getUUIDValue(
              AssetUserNetworkServiceDatabaseConstants
                  .INCOMING_NOTIFICATION_RESPONSE_TO_NOTIFICATION_ID_COLUMN_NAME);

      ActorAssetProtocolState actorAssetProtocolState =
          ActorAssetProtocolState.getByCode(protocolState);
      Boolean read = Boolean.valueOf(flagRead);
      AssetNotificationDescriptor assetNotificationDescriptor =
          AssetNotificationDescriptor.getByCode(descriptor);

      if (blockChainNetwork != null)
        blockchainNetworkType = BlockchainNetworkType.getByCode(blockChainNetwork);
      else blockchainNetworkType = BlockchainNetworkType.getDefaultBlockchainNetworkType();

      Actors actorDestinationType = Actors.getByCode(destinationType);
      Actors actorSenderType = Actors.getByCode(senderType);

      byte[] profileImage;

      try {
        profileImage =
            getActorUserProfileImagePrivateKey(
                record.getStringValue(
                    AssetUserNetworkServiceDatabaseConstants
                        .INCOMING_NOTIFICATION_SENDER_PUBLIC_KEY_COLUMN_NAME));
      } catch (FileNotFoundException e) {
        profileImage = new byte[0];
      }

      return new ActorAssetNetworkServiceRecord(
          notificationId,
          senderAlias,
          //                    senderPhrase,
          profileImage,
          assetNotificationDescriptor,
          actorDestinationType,
          actorSenderType,
          senderPublicKey,
          destinationPublicKey,
          timestamp,
          actorAssetProtocolState,
          read,
          0,
          blockchainNetworkType,
          responseToNotificationId,
          null);
    } catch (Exception e) {
      throw new InvalidParameterException();
    }
  }