/app/src/main/java/com/btv/esales_perumnas/app/ESalesApie.java
https://bitbucket.org/bimotriw/esales_perumnas · Java · 136 lines · 101 code · 13 blank · 22 comment · 12 complexity · 73367f044af2518f277a54b4f1da5944 MD5 · raw file
- package com.btv.esales_perumnas.app;
- import com.btv.esales_perumnas.app.config.Conf;
- import com.btv.esales_perumnas.app.engine.api.Api;
- import com.btv.esales_perumnas.app.engine.api.ApiResult;
- import com.btv.esales_perumnas.app.config.Key;
- import com.btv.esales_perumnas.app.engine.http.HttpConnector;
- import com.btv.esales_perumnas.app.engine.http.HttpResponseHeader;
- import com.btv.esales_perumnas.app.engine.var.Bundle;
- import android.util.Log;
- public class ESalesApie extends Api {
- public static final String TAG = "ESalesApie";
- public ESalesApie(String pId, String pTag) {
- super(pId, pTag);
- }
- @Override
- public int getVersion() {
- return 0;
- }
- @Override
- protected void onWrite(Bundle pBundle, String pMetalog, String pMessage, ApiResult pResult) {
- long t0 = -1L;
- long t1 = -1L;
- long tc = -1L;
- long tw = -1L;
- HttpResponseHeader response = null;
- HttpConnector connector = null;
- String metalog = pBundle.getString(Key.XS_METALOG, "");
- long[] p_timeinfo = new long[3];
- process: {
- try {
- // String api_message = pBundle.getString(ApiKey.API_REQUEST_MESSAGE);
- // // @Step 1 : Create Message
- // if (api_message == null) {
- // pResult.ex(ERR_UNKNOWN_API);
- // break process;
- // }
- // @Step 2 : Create Request
- if (pMessage == null) {
- pResult.ex(Api.ERR_NULL_REQUEST);
- break process;
- }
- try {
- // @Step 4 : Create Connector
- metalog = metalog + ":" + getTag() + ":" + System.currentTimeMillis();
- connector = new HttpConnector(getTag(), Conf.API_ADDRESS, Conf.API_PORT);
- connector.setSoTimeout(Conf.API_TIMEOUT);
- connector.setMaximumReadSize(1024);
- connector.setSslEnabled(Conf.API_SSL_MODE);
- logI(metalog, "T2 API START " + pResult.getEx() + " " + pMessage);
- // @Step 5 : Connect
- t0 = System.currentTimeMillis();
- boolean connect = connector.connect(p_timeinfo);
- tc = System.currentTimeMillis();
- if (!connect) {
- pResult.ex(ERR_CONNECT_FAILED);
- break process;
- }
- // @Step 6 : Write
- String writed = connector.writeLn(pMessage);
- tw = System.currentTimeMillis();
- if (writed == null) {
- pResult.ex(ERR_WRITE_FAILED);
- break process;
- }
- // @Step 7 : Response
- response = connector.readResponse(p_timeinfo);
- // if (!Log.isWarning(getLog()) && getLog() != null) {
- // getLog().i(getTag(), metalog, LogUtil.d("T3", "API
- // RESPONSE", result + "", "", response == null ? "NULL" :
- // LogUtil.s(response.pack())));
- // }
- t1 = System.currentTimeMillis();
- if (response == null || response.getContent() == null) {
- pResult.ex(ERR_NULL_RESPONSE);
- break process;
- }
- } catch (Exception | Error e) {
- pResult.ex(ERR_EXCEPTION_OR_ERROR);
- logE(metalog, e);
- e.printStackTrace();
- break process;
- } finally {
- if (connector != null) {
- connector.disconnect();
- connector = null;
- }
- }
- // @Step 8 : Response
- // if (pMessage.extract(pBundle, response.getContent())) {
- if (response.getContent().length() > 0) {
- Log.d(pMetalog, response.getContent());
- pResult.ex(ERR_NONE);
- pResult.setResponse(response.getContent());
- }
- // Error Code
- pResult.dx(response.getHttpCode());
- // if (!response.getHttpCode().equals(HttpStatus.CODE_200)) {
- // pResult.ex(ERR_UNKNOWN_RESPONSE);
- // }
- } catch (Exception | Error e) {
- pResult.ex(ERR_EXCEPTION_OR_ERROR);
- logE(metalog, e);
- e.printStackTrace();
- }
- }
- }
- @Override
- protected String onCreateMessage(Bundle pBundle, String pMetalog, ApiResult pResult) {
- return "";
- }
- @Override
- protected ApiResult onCreateApiResult() {
- return new ApiResult();
- }
- @Override
- protected String getTypeDescription(int pType) {
- return null;
- }
- @Override
- protected String getResultDescription(String pResult) {
- return null;
- }
- }