package com.android_mvc.sample_project.domain;
import com.android_mvc.sample_project.activities.func_net.HttpNetActivity;
import com.android_mvc.framework.controller.action.ActionResult;
import com.android_mvc.framework.controller.action.BaseAction;
import com.android_mvc.framework.controller.validation.ActivityParams;
import com.android_mvc.framework.net.HttpPostRequest;
import com.android_mvc.framework.net.HttpPostResponse;
/**
* 通信に関するBL。
* @author id:language_and_engineering
*
*/
public class HttpNetAction extends BaseAction
{
private HttpNetActivity activity;
public HttpNetAction(HttpNetActivity activity) {
this.activity = activity;
}
// BL本体
@Override
public ActionResult exec()
{
ActivityParams params = activity.toParams();
// 入力されたURLを取得
String url = (String)params.getValue("http_url");
// HTTP通信を実行(同期的)
HttpPostResponse response = new HttpPostRequest()
.target(url)
.addParam("key1", "value1") // POSTパラメータを追加できる
.getResponse()
;
// 通信の成否を判定
String routeId;
if( response.isSuccess() )
{
routeId = "success";
}
else
{
routeId = "failed";
}
// 実行結果を返す
return new HttpNetActionResult()
.setRouteId( routeId )
.add("http_response", response)
;
}
// 実行結果オブジェクト
static class HttpNetActionResult extends ActionResult
{
private static final long serialVersionUID = 1L;
}
}