Package com.azwul.api.service.impl

Source Code of com.azwul.api.service.impl.AzDealServiceImpl

/**
*
*/
package com.azwul.api.service.impl;

import java.util.HashMap;
import java.util.Map;

import com.azwul.api.model.Credentials;
import com.azwul.api.model.SessionToken;
import com.azwul.api.model.result.HttpResult;
import com.azwul.api.model.result.LoginResult;
import com.azwul.api.model.result.SignatureResult;
import com.azwul.api.model.tx.AzDealTransaction;
import com.azwul.api.service.AzDealService;
import com.azwul.api.util.ResponseUtil;

/**
* @author Theotime Jurzak
*
*/
public class AzDealServiceImpl extends AzServiceImpl implements AzDealService {

  public SignatureResult doSign(AzDealTransaction azDealTransaction,
      Credentials credentials) {
    return doSign(azDealTransaction, credentials, null, false);
  }

  public SignatureResult doSign(AzDealTransaction azDealTransaction,
      SessionToken sessionToken) {
    return doSign(azDealTransaction, null, sessionToken, true);
  }

  protected SignatureResult doSign(AzDealTransaction azDealTransaction,
      Credentials credentials, SessionToken sessionToken,
      boolean keepAlive) {

    if (credentials != null) {
      LoginResult loginResult = login(credentials);
      sessionToken = loginResult.getHttpResult().getSessionToken();
    }

    Map<String, String> params = new HashMap<String, String>();
    int i = 0;
    String recipientEmailString = "";
    for (String recipientEmail : azDealTransaction.getRecipientEmails()) {
      if (i != 0) {
        recipientEmailString += ",";
      }
      recipientEmailString += recipientEmail;
      i++;
    }
    params.put("recipientEmail", recipientEmailString);

    params.put("resourceName", azDealTransaction.getDocumentTitle());
    params.put("message", azDealTransaction.getMessage());

    if (azDealTransaction.getInternalFolderReference() != null
        && !"".equals(azDealTransaction.getInternalFolderReference())) {
      params.put("internalFolderReference",
          azDealTransaction.getInternalFolderReference());
    }
    if (azDealTransaction.getFileName() != null
        && !"".equals(azDealTransaction.getFileName())) {
      params.put("fileName", azDealTransaction.getFileName());
    }

    params.put("mailAttachement",
        Boolean.toString(azDealTransaction.isMailAttachement()));
    params.put("storeStrategy", azDealTransaction.getStoreStrategy().name());

    HttpResult httpResult = httpHelper.doPostMultipart("/basic/deal",
        httpConfiguration, sessionToken, azDealTransaction.getFile(),
        "file", params);
    String resSign = ResponseUtil.getBasicResponse(httpResult);

    SignatureResult result = new SignatureResult();
    result.setHttpResult(httpResult);
    result.setBasicResponse(resSign);

    String resSignSplit[] = resSign.split("\\s");

    if (resSignSplit[1].equals("OK")) {
      result.setOk(true);
      result.setSignatureId(resSignSplit[3]);
    }

    if (!keepAlive) {
      logout(httpResult.getSessionToken());
    }

    return result;
  }

  public SignatureResult processSign(String dealId, String message,
      Credentials credentials) {
    return processSign(dealId, message, credentials, null, false);
  }

  public SignatureResult processSign(String dealId, String message,
      SessionToken sessionToken) {
    return processSign(dealId, message, null, sessionToken, true);
  }

  protected SignatureResult processSign(String dealId, String message,
      Credentials credentials, SessionToken sessionToken,
      boolean keepAlive) {

    if (credentials != null) {
      LoginResult loginResult = login(credentials);
      sessionToken = loginResult.getHttpResult().getSessionToken();
    }

    Map<String, String> params = new HashMap<String, String>();
    params.put("dealId", dealId);
    params.put("message", message);

    HttpResult httpResult = httpHelper.doPost("/basic/deal/process",
        httpConfiguration, sessionToken, params);
    String resSign = ResponseUtil.getBasicResponse(httpResult);

    SignatureResult result = new SignatureResult();
    result.setHttpResult(httpResult);
    result.setBasicResponse(resSign);

    String resSignSplit[] = resSign.split("\\s");

    if (resSignSplit[1].equals("OK")) {
      result.setOk(true);
      result.setSignatureId(resSignSplit[3]);
    }

    if (!keepAlive) {
      logout(sessionToken);
    }

    return result;
  }

}
TOP

Related Classes of com.azwul.api.service.impl.AzDealServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.