Java Code Examples for io.reactivex.Single#blockingGet()

The following examples show how to use io.reactivex.Single#blockingGet() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
@Override
    public SingleSource<Wallet> apply(Single<Wallet> upstream) {
        Wallet wallet = upstream.blockingGet();
        return Single.fromCallable(() -> wallet);
//        return passwordStore
//                .setPassword(wallet, password)
//                .onErrorResumeNext(err -> walletRepository.deleteWallet(wallet.getAddress())
//                        .lift(observer -> new DisposableCompletableObserver() {
//                            @Override
//                            public void onComplete() {
//                                observer.onError(err);
//                            }
//
//                            @Override
//                            public void onError(Throwable e) {
//                                observer.onError(e);
//                            }
//                        }))
//                .toSingle(() -> wallet);
    }
 
Example 2
Source Project: rxmqtt   File: PublishFactoryTest.java    License: Apache License 2.0 6 votes vote down vote up
@Test
public void whenCreateIsCalledAndAnErrorOccursThenObserverOnErrorIsCalled()
        throws Throwable {
    this.expectedException.expectCause(isA(MqttException.class));
    final IMqttAsyncClient client = Mockito.mock(IMqttAsyncClient.class);
    Mockito.when(client.publish(Matchers.any(String.class),
            Matchers.any(byte[].class), Matchers.any(int.class),
            Matchers.any(boolean.class), Matchers.isNull(),
            Matchers.any(PublishFactory.PublishActionListener.class)))
            .thenThrow(new MqttException(
                    MqttException.REASON_CODE_CLIENT_CONNECTED));
    final PublishFactory factory = new PublishFactory(client);
    final Single<PublishToken> obs = factory.create("topic1",
            Mockito.mock(MqttMessage.class));
    obs.blockingGet();
}
 
Example 3
Source Project: redisson   File: RedissonTopicRxTest.java    License: Apache License 2.0 6 votes vote down vote up
@Test
public void testRemoveListenerById() throws InterruptedException {
    RTopicRx topic1 = redisson.getTopic("topic1");
    MessageListener listener = new MessageListener() {
        @Override
        public void onMessage(CharSequence channel, Object msg) {
            Assert.fail();
        }
    };
    
    Single<Integer> res = topic1.addListener(Message.class, listener);
    Integer listenerId = res.blockingGet();

    topic1 = redisson.getTopic("topic1");
    topic1.removeListener(listenerId);
    topic1.publish(new Message("123"));
}
 
Example 4
Source Project: vertx-rx   File: RxHelperTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void deployVerticleWithOptions() throws Exception {
  CoreVerticle verticle = new CoreVerticle();
  JsonObject expected = new JsonObject()
    .put("bim", 1).put("bam", new JsonArray().add(1).add(2).add(3)).put("boum", new JsonObject().put("toto", "titi"));
  Single<String> single = RxHelper.deployVerticle(vertx, verticle, new DeploymentOptions().setConfig(expected));
  assertNull(verticle.config);
  single.blockingGet();
  assertEquals(expected, verticle.config);
}
 
Example 5
@Override
protected Exception getFailure(Single instance) {
    AtomicReference<Exception> reference = new AtomicReference<>();
    try {
        //noinspection ResultOfMethodCallIgnored
        instance.blockingGet();
    } catch (Exception e) {
        reference.set(e);
    }
    return reference.get();
}
 
Example 6
Source Project: vertx-rx   File: RxHelperTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void deployVerticleFailure() throws Exception {
  CoreVerticle verticle = new CoreVerticle(true);
  Single<String> single = RxHelper.deployVerticle(vertx, verticle);
  assertNull(verticle.config);
  try {
    single.blockingGet();
    fail("Verticle deployment should fail");
  } catch (RuntimeException e) {
    assertThat(e.getCause(), instanceOf(MyException.class));
    assertNotNull(verticle.config);
    assertTrue(verticle.config.isEmpty());
  }
}
 
Example 7
Source Project: vertx-rx   File: RxHelperTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void deployVerticle() throws Exception {
  CoreVerticle verticle = new CoreVerticle();
  Single<String> single = RxHelper.deployVerticle(vertx, verticle);
  assertNull(verticle.config);
  single.blockingGet();
  assertNotNull(verticle.config);
  assertTrue(verticle.config.isEmpty());
}
 
Example 8
@Test
public void shouldDelegateToOtherAdapter() {
    String body = "this is from rxjava";

    stubFor(get(urlPathEqualTo("/delegated"))
        .willReturn(aResponse()
            .withStatus(200)
            .withHeader("Content-Type", "text/plain")
            .withBody(body)));

    RetrofitService service = new Retrofit.Builder()
        .addCallAdapterFactory(RateLimiterCallAdapter.of(RateLimiter.of(
            "backendName",
            RateLimiterConfig.custom()
                .timeoutDuration(Duration.ofMillis(50))
                .limitForPeriod(1)
                .limitRefreshPeriod(Duration.ofDays(1))
                .build()
        )))
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .addConverterFactory(ScalarsConverterFactory.create())
        .client(client)
        .baseUrl(wireMockRule.baseUrl())
        .build()
        .create(RetrofitService.class);

    Single<String> success = service.delegated();
    Single<String> failure = service.delegated();

    String resultBody = success.blockingGet();
    try {
        failure.blockingGet();
        fail("Expected HttpException to be thrown");
    } catch (HttpException httpe) {
        assertThat(httpe.code()).isEqualTo(429);
    }

    assertThat(resultBody).isEqualTo(body);
    verify(1, getRequestedFor(urlPathEqualTo("/delegated")));
}
 
Example 9
@Test
public void shouldNotDelegateToOtherAdapterWhenAddedAfterwards() {
    String body = "this is from rxjava";

    stubFor(get(urlPathEqualTo("/delegated"))
        .willReturn(aResponse()
            .withStatus(200)
            .withHeader("Content-Type", "text/plain")
            .withBody(body)));

    RetrofitService service = new Retrofit.Builder()
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .addCallAdapterFactory(RateLimiterCallAdapter.of(RateLimiter.of(
            "backendName",
            RateLimiterConfig.custom()
                .timeoutDuration(Duration.ofMillis(50))
                .limitForPeriod(1)
                .limitRefreshPeriod(Duration.ofDays(1))
                .build()
        )))
        .addConverterFactory(ScalarsConverterFactory.create())
        .client(client)
        .baseUrl(wireMockRule.baseUrl())
        .build()
        .create(RetrofitService.class);

    Single<String> success = service.delegated();
    Single<String> failure = service.delegated();

    String resultBody = success.blockingGet();
    failure.blockingGet();

    assertThat(resultBody).isEqualTo(body);
    verify(2, getRequestedFor(urlPathEqualTo("/delegated")));
}
 
Example 10
@Override
public void actionPerformed(ActionEvent e) {
	if(e.getSource() == calcelButton) {
		setVisible(false);
	}

	if(e.getSource() == okButton || e.getSource() == pin) {
		String error = null;
		Globals g = Globals.getInstance();

		if(error == null && !acceptBox.isSelected()) {
			error = tr("dlg_accept_first");
			acceptBox.requestFocus();
		}
		
		if(error == null && !g.usingLedger() && !g.checkPIN(pin.getPassword())) {
			error = tr("dlg_invalid_pin");
			pin.requestFocus();
		}

		if(error!=null) {
			Toast.makeText((JFrame) this.getOwner(), error, Toast.Style.ERROR).display(okButton);
			return;
		}
		
		// all set, lets cancel the order
		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
		try {
			Single<byte[]> utx = null;

			if(isToken) {
				if(order.getType() == AssetOrder.OrderType.BID)
					utx = g.getNS().generateCancelBidOrderTransaction(g.getPubKey(), order.getId(),
							suggestedFee.getPriorityFee(), 1440);
				else
					utx = g.getNS().generateCancelAskOrderTransaction(g.getPubKey(), order.getId(),
						suggestedFee.getPriorityFee(), 1440);
			}
			else {
				// update the security to zero to withdraw all funds
				byte[] message = BT.callMethodMessage(state.getMethod("update"), 0L);
				
				BurstValue amountToSend = BurstValue.fromPlanck(state.getActivationFee());

				utx = g.getNS().generateTransactionWithMessage(state.getAddress(), g.getPubKey(),
						amountToSend, suggestedFee.getPriorityFee(),
						Constants.BURST_DEADLINE, message);
			}
			
			unsigned = utx.blockingGet();
			if(g.usingLedger()) {
				LedgerService.getInstance().requestSign(unsigned, null, g.getLedgerIndex());
				okButton.setEnabled(false);
				
				Toast.makeText((JFrame) this.getOwner(), tr("ledger_authorize"), Toast.Style.NORMAL).display(okButton);
				
				return;
			}
			byte[] signedTransactionBytes = g.signTransaction(pin.getPassword(), unsigned);
			reportSigned(signedTransactionBytes, null);
		}
		catch (Exception ex) {
			ex.printStackTrace();
			Toast.makeText((JFrame) this.getOwner(), ex.getCause().getMessage(), Toast.Style.ERROR).display(okButton);
		}
		setCursor(Cursor.getDefaultCursor());
	}
}
 
Example 11
@Override
public void actionPerformed(ActionEvent e) {
	if(e.getSource() == cancelButton) {
		setVisible(false);
	}

	if(e.getSource() == okButton || e.getSource() == pin) {
		String error = null;
		Globals g = Globals.getInstance();

		if(error == null && !acceptBox.isSelected()) {
			error = tr("dlg_accept_first");
			acceptBox.requestFocus();
		}

		if(error == null && !g.checkPIN(pin.getPassword())) {
			error = tr("dlg_invalid_pin");
			pin.requestFocus();
		}

		if(error!=null) {
			Toast.makeText((JFrame) this.getOwner(), error, Toast.Style.ERROR).display(okButton);
			return;
		}

		// all set, lets register the contract
		try {
			setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

			int ncontracts = Integer.parseInt(numOfContractsSpinner.getValue().toString());

			for (int c = 0; c < ncontracts; c++) {
				long data[] = Contracts.getNewContractData(g.isTestnet());

				ByteBuffer dataBuffer = ByteBuffer.allocate(data==null ? 0 : data.length*8);
				dataBuffer.order(ByteOrder.LITTLE_ENDIAN);
				for (int i = 0; data!=null && i < data.length; i++) {
					dataBuffer.putLong(data[i]);
				}

				byte[] creationBytes = BurstCrypto.getInstance().getATCreationBytes((short)2,
						contract.getCode(), dataBuffer.array(), (short)contract.getDataPages(), (short)1, (short)1,
						BurstValue.fromPlanck(SellContract.ACTIVATION_FEE));

				Single<TransactionBroadcast> tx = g.getNS().generateCreateATTransaction(g.getPubKey(),
						BT.getMinRegisteringFee(contract),
						Constants.BURST_DEADLINE, "BTDEX", "BTDEX sell contract " + System.currentTimeMillis(), creationBytes)
						.flatMap(unsignedTransactionBytes -> {
							byte[] signedTransactionBytes = g.signTransaction(pin.getPassword(), unsignedTransactionBytes);
							return g.getNS().broadcastTransaction(signedTransactionBytes);
						});

				TransactionBroadcast tb = tx.blockingGet();
				tb.getTransactionId();
				setVisible(false);

				Toast.makeText((JFrame) this.getOwner(),
						tr("send_tx_broadcast", tb.getTransactionId().toString()), Toast.Style.SUCCESS).display();	
			}
		}
		catch (Exception ex) {
			Toast.makeText((JFrame) this.getOwner(), ex.getMessage(), Toast.Style.ERROR).display(okButton);
		}
		setCursor(Cursor.getDefaultCursor());
	}
}
 
Example 12
@Override
public void actionPerformed(ActionEvent e) {
	if(e.getSource() == cancelButton) {
		setVisible(false);
	}

	if(e.getSource()==buyToken || e.getSource()==sellToken) {
		buyToken.setBackground(buyToken.isSelected() ? HistoryPanel.GREEN : this.getBackground());
		sellToken.setBackground(sellToken.isSelected() ? HistoryPanel.RED : this.getBackground());
		
		okButton.setText(tr(buyToken.isSelected() ? "offer_confirm_limit_buy" : "offer_confirm_limit_sell"));
		okButton.setBackground(buyToken.isSelected() ? HistoryPanel.GREEN : HistoryPanel.RED);
		somethingChanged();
	}

	if(e.getSource() == okButton || e.getSource() == pinField) {
		String error = null;
		Globals g = Globals.getInstance();

		if(error == null && (priceValue == null || priceValue.longValue() <= 0)) {
			error = tr("offer_invalid_price");
		}
		if(error == null && (amountValue == null || amountValue.longValue() <= 0)) {
			error = tr("send_invalid_amount");
		}

		if(error == null && !acceptBox.isSelected()) {
			error = tr("dlg_accept_first");
			acceptBox.requestFocus();
		}

		if(error == null && !g.usingLedger() && !g.checkPIN(pinField.getPassword())) {
			error = tr("dlg_invalid_pin");
			pinField.requestFocus();
		}

		if(error!=null) {
			Toast.makeText((JFrame) this.getOwner(), error, Toast.Style.ERROR).display(okButton);
			return;
		}
		
		if(g.usingLedger()) {
			if(BurstLedger.isAppAvailable())
				Toast.makeText((JFrame) this.getOwner(), tr("ledger_auth"), Toast.Style.NORMAL).display(okButton);
			else {
				Toast.makeText((JFrame) this.getOwner(), tr("ledger_error"), Toast.Style.ERROR).display(okButton);
				return;
			}
		}

		// all set, lets place the order
		try {
			setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

			Single<byte[]> utx = null;

			if(sellToken.isSelected())
				utx = g.getNS().generatePlaceAskOrderTransaction(g.getPubKey(), market.getTokenID(),
						amountValue, priceValue, suggestedFee, Constants.BURST_DEADLINE);
			else
				utx = g.getNS().generatePlaceBidOrderTransaction(g.getPubKey(), market.getTokenID(),
						amountValue, priceValue, suggestedFee, Constants.BURST_DEADLINE);

			unsigned = utx.blockingGet();
			if(g.usingLedger()) {
				LedgerService.getInstance().requestSign(unsigned, null, g.getLedgerIndex());
				okButton.setEnabled(false);
				priceField.setEnabled(false);
				amountField.setEnabled(false);
				
				Toast.makeText((JFrame) this.getOwner(), tr("ledger_authorize"), Toast.Style.NORMAL).display(okButton);
				
				return;
			}
			
			byte[] signedTransactionBytes = g.signTransaction(pinField.getPassword(), unsigned);
			reportSigned(signedTransactionBytes, null);
		}
		catch (Exception ex) {
			ex.printStackTrace();
			Toast.makeText((JFrame) this.getOwner(), ex.getCause().getMessage(), Toast.Style.ERROR).display(okButton);
		}
		setCursor(Cursor.getDefaultCursor());
	}
}
 
Example 13
@Override
public void actionPerformed(ActionEvent e) {
	if(e.getSource() == cancelButton) {
		setVisible(false);
		return;
	}
	
	if(e.getSource() == acceptOtherTermsBox) {
		if(acceptOtherTermsBox.isSelected()) {
			yourAmountOtherSlider.setValue(otherAmountOtherSlider.getValue());;
			yourAmountYouSlider.setValue(otherAmountYouSlider.getValue());				
		}
		yourAmountOtherSlider.setEnabled(!acceptOtherTermsBox.isSelected());
		yourAmountYouSlider.setEnabled(!acceptOtherTermsBox.isSelected());
	}

	if(e.getSource() == okButton || e.getSource() == pinField) {
		String error = null;
		Component errorComp = null;
		Globals g = Globals.getInstance();

		if(error == null) {
			// check if something changed
			//				if(priceValue.longValue() == contract.getRate() &&
			//						(accountDetails.getText().length()==0 || 
			//						accountDetails.getText().equals(contract.getMarketAccount()))
			//						)
			//					error = tr("offer_no_changes");
		}
		
		if(error == null && !acceptBox.isSelected()) {
			error = tr("dlg_accept_first");
			errorComp = acceptBox;
			acceptBox.requestFocus();
		}

		if(error == null && !g.checkPIN(pinField.getPassword())) {
			error = tr("dlg_invalid_pin");
			pinField.requestFocus();
		}

		if(error!=null) {
			Toast.makeText((JFrame) this.getOwner(), error, Toast.Style.ERROR).display(errorComp != null ? errorComp : okButton);
			return;
		}

		// all set, lets place the dispute update
		try {
			setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

			long amountToCreator = amount * (isCreator ? yourAmountYouSlider.getValue() : yourAmountOtherSlider.getValue()) / 100;
			long amountToTaker = amount - amountToCreator;

			// we are sending the dispute message with our amounts
			byte[] message = BT.callMethodMessage(contract.getMethod("dispute"), amountToCreator, amountToTaker);
			BurstValue amountToSend = BurstValue.fromPlanck(contract.getActivationFee());

			Single<byte[]> utx = g.getNS().generateTransactionWithMessage(contract.getAddress(), g.getPubKey(),
					amountToSend, suggestedFee,
					Constants.BURST_DEADLINE, message);

			Single<TransactionBroadcast> tx = utx.flatMap(unsignedTransactionBytes -> {
				byte[] signedTransactionBytes = g.signTransaction(pinField.getPassword(), unsignedTransactionBytes);
				return g.getNS().broadcastTransaction(signedTransactionBytes);
			});
			TransactionBroadcast tb = tx.blockingGet();
			tb.getTransactionId();

			setVisible(false);
			Toast.makeText((JFrame) this.getOwner(),
					tr("send_tx_broadcast", tb.getTransactionId().toString()), Toast.Style.SUCCESS).display();
		}
		catch (Exception ex) {
			ex.printStackTrace();
			Toast.makeText((JFrame) this.getOwner(), ex.getCause().getMessage(), Toast.Style.ERROR).display(okButton);
		}
		setCursor(Cursor.getDefaultCursor());
	}
}
 
Example 14
Source Project: feign-reactive   File: LoggerTest.java    License: Apache License 2.0 4 votes vote down vote up
@Test
public void shouldLog() throws Exception {

  setLogLevel(Level.TRACE);

  IceCreamOrder order = new OrderGenerator().generate(20);
  Bill billExpected = Bill.makeBill(order);

  wireMockRule.stubFor(post(urlEqualTo("/icecream/orders"))
      .withRequestBody(equalTo(TestUtils.MAPPER.writeValueAsString(order)))
      .willReturn(aResponse().withStatus(200)
          .withHeader("Content-Type", "application/json")
          .withBody(TestUtils.MAPPER.writeValueAsString(billExpected))));

  IcecreamServiceApi client = builder()
      .target(IcecreamServiceApi.class,
          "http://localhost:" + wireMockRule.port());

  Single<Bill> billMono = client.makeOrder(order);

  // no logs before subscription
  ArgumentCaptor<LogEvent> argumentCaptor = ArgumentCaptor.forClass(LogEvent.class);
  Mockito.verify(appender, never()).append(argumentCaptor.capture());

  billMono.blockingGet();

  Mockito.verify(appender, times(7)).append(argumentCaptor.capture());

  List<LogEvent> logEvents = argumentCaptor.getAllValues();
  assertLogEvent(logEvents, 0, Level.DEBUG,
      "[IcecreamServiceApi#makeOrder]--->POST http://localhost");
  assertLogEvent(logEvents, 1, Level.TRACE,
      "[IcecreamServiceApi#makeOrder] REQUEST HEADERS\n" +
          "Accept:[application/json]");
  assertLogEvent(logEvents, 2, Level.TRACE,
      "[IcecreamServiceApi#makeOrder] REQUEST BODY\n" +
          "IceCreamOrder{ id=20, balls=");
  assertLogEvent(logEvents, 3, Level.TRACE,
      "[IcecreamServiceApi#makeOrder] RESPONSE HEADERS\n" +
          "Content-Type:application/json");
  assertLogEvent(logEvents, 4, Level.DEBUG,
      "[IcecreamServiceApi#makeOrder]<--- headers takes");
  assertLogEvent(logEvents, 5, Level.TRACE,
      "[IcecreamServiceApi#makeOrder] RESPONSE BODY\n" +
          "reactivefeign.rx2.testcase.domain.Bill");
  assertLogEvent(logEvents, 6, Level.DEBUG,
      "[IcecreamServiceApi#makeOrder]<--- body takes");
}
 
Example 15
@SuppressWarnings("unchecked")
@Override
protected String getOne(Single instance) {
    Single<String> single = instance.cast(String.class);
    return single.blockingGet();
}
 
Example 16
@SuppressWarnings("unchecked")
@Override
protected String getOne(Single instance) {
    Single<String> single = instance.cast(String.class);
    return single.blockingGet();
}
 
Example 17
@Override
protected void consume(Single instance) {
    instance.blockingGet();
}
 
Example 18
Source Project: Mockery   File: Rx2RetrofitInterceptor.java    License: Apache License 2.0 4 votes vote down vote up
@Override public Object adaptResponse(Object response, Metadata<Rx2Retrofit> metadata) {
  checkReturnMethodTypeIsSingleOrCompletable(metadata);

  if (response instanceof Completable) return null;

  Single single = (Single) response;

  Object payload = single.blockingGet();

  if (payload instanceof Response) {
    Object body = ((Response) payload).body();
    return body;
  }

  return payload;
}
 
Example 19
Source Project: quill   File: Helpers.java    License: MIT License 4 votes vote down vote up
public static <T> T execute(Single<T> single) {
    return single.blockingGet();
}
 
Example 20
Source Project: redisson   File: BaseRxTest.java    License: Apache License 2.0 4 votes vote down vote up
public static <V> V sync(Single<V> single) {
    return single.blockingGet();
}