Package com.azwul.api.service.impl

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

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

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import com.azwul.api.model.Credentials;
import com.azwul.api.model.HttpConfiguration;
import com.azwul.api.model.SessionToken;
import com.azwul.api.model.result.HttpResult;
import com.azwul.api.model.result.LoginResult;
import com.azwul.api.service.AzService;
import com.azwul.api.service.helper.HelperFactory;
import com.azwul.api.service.helper.HttpHelper;
import com.azwul.api.util.ResponseUtil;

/**
* @author Theotime Jurzak
*
*/
public class AzServiceImpl implements AzService {

  protected HttpHelper httpHelper = HelperFactory.getHttpHelper();

  protected HttpConfiguration httpConfiguration;

  public LoginResult login(Credentials credentials) {
    return login(credentials.getP12(), credentials.getPassword(),
        credentials.getApiId());
  }

  public LoginResult login(File p12, String password, String apiId) {

    Map<String, String> params = new HashMap<String, String>();
    params.put("j_password", password);
    params.put("apiId", apiId);

    HttpResult httpResult = httpHelper.doPostMultipart(
        "/j_spring_security_check", httpConfiguration, null, p12,
        "j_key", params);

    String setCookie = httpResult.getHttpMethod()
        .getResponseHeader("Set-Cookie").getValue();

    httpResult.releaseConnection();

    SessionToken sessionToken = new SessionToken();
    sessionToken.setApiId(apiId);
    sessionToken.setCookie(setCookie);

    httpResult.setSessionToken(sessionToken);
    return isLogged(sessionToken);
  }

  public LoginResult isLogged(SessionToken token) {
    HttpResult checkLoggedResult = httpHelper.doGet("/basic/checkLogged",
        httpConfiguration, token);
    String resLogin = ResponseUtil.getBasicResponse(checkLoggedResult);

    String resLoginSplit[] = resLogin.split("\\s");
    LoginResult loginResult = new LoginResult();
    loginResult.setBasicResponse(resLogin);
    loginResult.setHttpResult(checkLoggedResult);

    if ("OK".equals(resLoginSplit[1])) {
      loginResult.setOk(true);
    }

    return loginResult;
  }

  public void logout(SessionToken token) {
    httpHelper.doGet("/logout.jsp", httpConfiguration, token);
  }

  public void setHttpConfiguration(HttpConfiguration httpConfiguration) {
    this.httpConfiguration = httpConfiguration;
  }

  public void setHttpHelper(HttpHelper httpHelper) {
    this.httpHelper = httpHelper;
  }

}
TOP

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

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.