Search in sources :

Example 1 with Action0

use of rx.functions.Action0 in project newts by OpenNMS.

the class ImportRunner method restPoster.

private Observable<Boolean> restPoster(Observable<List<Sample>> samples, MetricRegistry metrics) {
    final CloseableHttpAsyncClient httpClient = HttpAsyncClients.createDefault();
    httpClient.start();
    return samples.map(toJSON()).map(meter(metrics.meter("posts"), String.class)).mergeMap(postJSON(m_restUrl, httpClient)).map(meter(metrics.meter("responses"), ObservableHttpResponse.class)).map(meter(metrics.meter("samples-completed"), m_samplesPerBatch, ObservableHttpResponse.class)).all(successful()).doOnCompleted(new Action0() {

        @Override
        public void call() {
            try {
                httpClient.close();
            } catch (IOException e) {
                System.err.println("Failed to close httpClient!");
                e.printStackTrace();
            }
        }
    });
}
Also used : Action0(rx.functions.Action0) ObservableHttpResponse(rx.apache.http.ObservableHttpResponse) CloseableHttpAsyncClient(org.apache.http.impl.nio.client.CloseableHttpAsyncClient) IOException(java.io.IOException)

Example 2 with Action0

use of rx.functions.Action0 in project okhttp-OkGo by jeasonlzy.

the class RxBitmapActivity method requestImage.

@OnClick(R.id.requestImage)
public void requestImage(View view) {
    Subscription subscription = //
    ServerApi.getBitmap("aaa", "bbb").doOnSubscribe(new Action0() {

        @Override
        public void call() {
            showLoading();
        }
    }).observeOn(//
    AndroidSchedulers.mainThread()).subscribe(new Action1<Bitmap>() {

        @Override
        public void call(Bitmap bitmap) {
            //请求成功
            dismissLoading();
            handleResponse(bitmap, null, null);
            imageView.setImageBitmap(bitmap);
            System.out.println("---------");
        }
    }, new Action1<Throwable>() {

        @Override
        public void call(Throwable throwable) {
            //请求失败
            throwable.printStackTrace();
            showToast("请求失败");
            dismissLoading();
            handleError(null, null);
        }
    });
    addSubscribe(subscription);
}
Also used : Action0(rx.functions.Action0) Bitmap(android.graphics.Bitmap) Subscription(rx.Subscription) OnClick(butterknife.OnClick)

Example 3 with Action0

use of rx.functions.Action0 in project okhttp-OkGo by jeasonlzy.

the class RxCommonActivity method upString.

@OnClick(R.id.upString)
public void upString(View view) {
    Subscription subscription = //
    OkGo.post(Urls.URL_TEXT_UPLOAD).headers("bbb", //
    "222").upString(//
    "上传的文本。。。").getCall(StringConvert.create(), //以上为产生请求事件,请求默认发生在IO线程
    RxAdapter.<String>create()).doOnSubscribe(new Action0() {

        @Override
        public void call() {
            //开始请求前显示对话框
            showLoading();
        }
    }).observeOn(//切换到主线程
    AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {

        @Override
        public void call(String s) {
            //请求成功,关闭对话框
            dismissLoading();
            handleResponse(s, null, null);
        }
    }, new Action1<Throwable>() {

        @Override
        public void call(Throwable throwable) {
            throwable.printStackTrace();
            //请求失败
            dismissLoading();
            showToast("请求失败");
            handleError(null, null);
        }
    });
    addSubscribe(subscription);
}
Also used : Action0(rx.functions.Action0) Subscription(rx.Subscription) OnClick(butterknife.OnClick)

Example 4 with Action0

use of rx.functions.Action0 in project okhttp-OkGo by jeasonlzy.

the class RxCommonActivity method upJson.

@OnClick(R.id.upJson)
public void upJson(View view) {
    HashMap<String, String> params = new HashMap<>();
    params.put("key1", "value1");
    params.put("key2", "这里是需要提交的json格式数据");
    params.put("key3", "也可以使用三方工具将对象转成json字符串");
    params.put("key4", "其实你怎么高兴怎么写都行");
    JSONObject jsonObject = new JSONObject(params);
    Subscription subscription = //
    OkGo.post(Urls.URL_TEXT_UPLOAD).headers("bbb", //
    "222").upJson(//
    jsonObject.toString()).getCall(StringConvert.create(), //以上为产生请求事件,请求默认发生在IO线程
    RxAdapter.<String>create()).doOnSubscribe(new Action0() {

        @Override
        public void call() {
            //开始请求前显示对话框
            showLoading();
        }
    }).observeOn(//切换到主线程
    AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {

        @Override
        public void call(String s) {
            //请求成功,关闭对话框
            dismissLoading();
            handleResponse(s, null, null);
        }
    }, new Action1<Throwable>() {

        @Override
        public void call(Throwable throwable) {
            throwable.printStackTrace();
            //请求失败
            dismissLoading();
            showToast("请求失败");
            handleError(null, null);
        }
    });
    addSubscribe(subscription);
}
Also used : Action0(rx.functions.Action0) JSONObject(org.json.JSONObject) HashMap(java.util.HashMap) Subscription(rx.Subscription) OnClick(butterknife.OnClick)

Example 5 with Action0

use of rx.functions.Action0 in project okhttp-OkGo by jeasonlzy.

the class RxCommonActivity method jsonArrayRequest.

@OnClick(R.id.jsonArrayRequest)
public void jsonArrayRequest(View view) {
    Subscription subscription = //
    ServerApi.getServerListModel("aaa", "bbb").doOnSubscribe(new Action0() {

        @Override
        public void call() {
            showLoading();
        }
    }).map(new Func1<LzyResponse<List<ServerModel>>, List<ServerModel>>() {

        @Override
        public List<ServerModel> call(LzyResponse<List<ServerModel>> response) {
            return response.data;
        }
    }).observeOn(//
    AndroidSchedulers.mainThread()).subscribe(new Action1<List<ServerModel>>() {

        @Override
        public void call(List<ServerModel> serverModels) {
            //请求成功
            dismissLoading();
            handleResponse(serverModels, null, null);
        }
    }, new Action1<Throwable>() {

        @Override
        public void call(Throwable throwable) {
            //请求失败
            throwable.printStackTrace();
            showToast("请求失败");
            dismissLoading();
            handleError(null, null);
        }
    });
    addSubscribe(subscription);
}
Also used : Action0(rx.functions.Action0) LzyResponse(com.lzy.demo.model.LzyResponse) ServerModel(com.lzy.demo.model.ServerModel) List(java.util.List) Subscription(rx.Subscription) OnClick(butterknife.OnClick)

Aggregations

Action0 (rx.functions.Action0)134 Subscription (rx.Subscription)58 Test (org.junit.Test)56 CountDownLatch (java.util.concurrent.CountDownLatch)50 Action1 (rx.functions.Action1)28 AtomicReference (java.util.concurrent.atomic.AtomicReference)23 ArrayList (java.util.ArrayList)16 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)16 List (java.util.List)15 Func1 (rx.functions.Func1)13 HystrixRuntimeException (com.netflix.hystrix.exception.HystrixRuntimeException)12 Observable (rx.Observable)12 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)11 OnClick (butterknife.OnClick)10 IOException (java.io.IOException)9 CommandStreamTest (com.netflix.hystrix.metric.CommandStreamTest)8 UiThreadTest (android.support.test.annotation.UiThreadTest)7 PluginTestVerifier (com.navercorp.pinpoint.bootstrap.plugin.test.PluginTestVerifier)7 TestCollapserTimer (com.netflix.hystrix.HystrixCollapserTest.TestCollapserTimer)7 Method (java.lang.reflect.Method)7