All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.javabaas.javasdk.JBStatus Maven / Gradle / Ivy

The newest version!
package com.javabaas.javasdk;

import com.javabaas.javasdk.callback.JBObjectCallback;
import com.javabaas.javasdk.callback.JBStatusCallback;

import java.util.Map;

/**
 * Created by zangyilin on 2017/10/30.
 */
public class JBStatus {
    /**
     * 获取服务当前运行信息 同步
     *
     * @return 服务相关信息
     * @throws JBException 异常信息
     */
    public static Map getStatus() throws JBException{
        final Map[] map = new Map[]{null};
        getStatusFromJavabaas(true, new JBStatusCallback() {
            @Override
            public void done(boolean success, Map status, JBException e) {
                if (success) {
                    map[0] = status;
                } else {
                    JBExceptionHolder.add(e);
                }
            }
        });
        if (JBExceptionHolder.exists()) {
            throw JBExceptionHolder.remove();
        }
        return map[0];
    }

    /**
     * 获取服务当前运行信息 异步
     *
     * @param callback 回调信息
     */
    public static void getStatusInBackground(JBStatusCallback callback) {
        getStatusFromJavabaas(false, callback);
    }

    private static void getStatusFromJavabaas(final boolean sync, final JBStatusCallback callback) {
        String path = JBHttpClient.getStatusPath();
        JBHttpClient.INSTANCE().sendRequest(path, JBHttpMethod.GET, null, null, sync, new JBObjectCallback() {
            @Override
            public void onSuccess(JBResult result) {
                if (callback == null) {
                    return;
                }
                if (result.getData() == null || result.getData().get("result") == null || !(result.getData().get("result") instanceof Map)) {
                    callback.done(false, null, new JBException(JBCode.INTERNAL_JSON_ERROR.getCode(), "服务器返回信息错误"));
                } else {
                    callback.done(true, (Map) result.getData().get("result"), null);
                }
            }

            @Override
            public void onFailure(JBException error) {
                if (callback != null) {
                    callback.done(false, null, error);
                }
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy