diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/LoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/LoginUseCases.java deleted file mode 100644 index 5d3ed21..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/LoginUseCases.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.UseCases; - -import org.ntlab.radishforandroidstudio.cactusClient.Entities.CactusConnectionEntity; - -public class LoginUseCases extends UseCase { - - private String LOGIN_URL; - private CactusConnectionEntity cactusConnectionEntity; - - public String userLoginURL() { - cactusConnectionEntity = new CactusConnectionEntity(); - LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); - return LOGIN_URL; - } - - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginBoundary.java new file mode 100644 index 0000000..41bbbe1 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginBoundary.java @@ -0,0 +1,9 @@ +package org.ntlab.radishforandroidstudio.cactusClient.UseCases; + +public interface UserLoginBoundary { + + String getUserId(); + + String getUserPass(); + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginControllerBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginControllerBoundary.java new file mode 100644 index 0000000..0a8115d --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginControllerBoundary.java @@ -0,0 +1,6 @@ +package org.ntlab.radishforandroidstudio.cactusClient.UseCases; + +public interface UserLoginControllerBoundary { + String getUserID(); + String getUserPass(); +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java new file mode 100644 index 0000000..0d918b6 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java @@ -0,0 +1,38 @@ +package org.ntlab.radishforandroidstudio.cactusClient.UseCases; + +import org.ntlab.radishforandroidstudio.cactusClient.Entities.CactusConnectionEntity; + +public class UserLoginUseCases implements UserLoginControllerBoundary { + + private String LOGIN_URL; + private CactusConnectionEntity cactusConnectionEntity; + private UserLoginBoundary userLoginBoundary; + + public UserLoginUseCases(UserLoginBoundary userLoginBound) { + this.userLoginBoundary = userLoginBound; + } + + + public String userLoginURL() { + cactusConnectionEntity = new CactusConnectionEntity(); + LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); + return LOGIN_URL; + } + + private String userID; + private String userPass; + + @Override + public String getUserID() { + userID = userLoginBoundary.getUserId(); + return userID; + } + + @Override + public String getUserPass() { + userPass = userLoginBoundary.getUserPass(); + return userPass; + } + + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java new file mode 100644 index 0000000..a4428b5 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java @@ -0,0 +1,46 @@ +package org.ntlab.radishforandroidstudio.cactusClient.controller; + +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.widget.EditText; +import android.widget.Toast; + +import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginBoundary; + +public class InputUserPresenter implements UserLoginBoundary { + private String userID; + private String userPass; + private FragmentManager manager; + FragmentActivity fragmentActivity; + + + public InputUserPresenter(FragmentActivity fragmentActivity, EditText userName, EditText passWord, FragmentManager fragmentManager) { + this.userID = userName.getText().toString(); + this.userPass = passWord.getText().toString(); + this.fragmentActivity = fragmentActivity; + this.manager = fragmentManager; + } + + public void inputData() { + if (userID.isEmpty()) { + Toast.makeText(fragmentActivity, "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); + return; + } else if (userPass.isEmpty()) { + Toast.makeText(fragmentActivity, "パスワードが未記入です", Toast.LENGTH_SHORT).show(); + return; + } + + + } + + + @Override + public String getUserId() { + return userID; + } + + @Override + public String getUserPass() { + return userPass; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java index 79339e1..19c76a0 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java @@ -1,8 +1,9 @@ package org.ntlab.radishforandroidstudio.cactusClient.controller; +import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; -import android.widget.EditText; +import android.widget.Toast; import net.arnx.jsonic.JSON; import net.arnx.jsonic.TypeReference; @@ -10,7 +11,9 @@ import org.ntlab.radishforandroidstudio.R; import org.ntlab.radishforandroidstudio.cactusClient.Cactus; import org.ntlab.radishforandroidstudio.cactusClient.Entities.CactusConnection; -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.LoginUseCases; +import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginControllerBoundary; +import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginBoundary; import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; import org.ntlab.radishforandroidstudio.cactusClient.views.InstancesFragment; @@ -24,46 +27,55 @@ private String Login_URL; private FragmentManager manager; - LoginUseCases loginUseCases; + UserLoginUseCases loginUseCases; CactusConnection loginConnection; + FragmentActivity fragmentActivity; + UserLoginControllerBoundary userLoginControllerBoundary; + UserLoginBoundary userLoginBoundary; - public UserLoginController(Cactus cactus, EditText userName, EditText passWord, FragmentManager fragmentManager) { - this.userID = userName.getText().toString(); - this.userPass = passWord.getText().toString(); - this.userCactus = cactus; + public UserLoginController(FragmentActivity fragmentActivity, FragmentManager fragmentManager,UserLoginControllerBoundary userLoginControllerBound) { + this.fragmentActivity = fragmentActivity; this.manager = fragmentManager; - connection(); - } + this.userLoginControllerBoundary = userLoginControllerBound; - private void connection() { - loginUseCases = new LoginUseCases(); + this.userID = userLoginControllerBoundary.getUserID(); + this.userPass = userLoginControllerBoundary.getUserPass(); + + UserLoginBoundary userLoginBoundary = null;//とりあえずエラー処理 + + loginUseCases = new UserLoginUseCases(userLoginBoundary); Login_URL = loginUseCases.userLoginURL(); loginConnection = new CactusConnection(Login_URL); + } public void addFormParam() { loginConnection.addFormParam("userID", userID); loginConnection.addFormParam("userPass", userPass); loginConnection.doPut(); - } private void changeJson(String response) { URIAddressedAccount lac = JSON.decode(response, new TypeReference() { }); -// System.out.println(response); + System.out.println(response); Account user = lac.getAccount(); if (user.isLogin()) { System.out.println("成功"); + Toast.makeText(fragmentActivity, "成功", Toast.LENGTH_SHORT).show(); + userCactus = (Cactus) fragmentActivity.getApplication(); userCactus.setMyAccount(user); userCactus.setAddressedAccount(lac); + + //画面遷移 FragmentTransaction transaction = manager.beginTransaction(); transaction.replace(R.id.fragment_place, new InstancesFragment()); transaction.commit(); } else { - System.out.println("失敗"); + Toast.makeText(fragmentActivity, "失敗", Toast.LENGTH_SHORT).show(); + } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java index db4df6b..0957943 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java @@ -2,6 +2,7 @@ import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; @@ -9,10 +10,10 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; -import android.widget.Toast; import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.cactusClient.controller.InputUserPresenter; import org.ntlab.radishforandroidstudio.cactusClient.controller.UserLoginController; @@ -59,33 +60,19 @@ public void onClick(View view) { EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); - -// /**************************************************************** -// if (testFlag) { -// FragmentManager manager = getFragmentManager(); -// FragmentTransaction transaction = manager.beginTransaction(); -// transaction.replace(R.id.fragment_place, new InstancesFragment()); -// transaction.commit(); -// return; -// } -// **********************************************************************/ - - - if (userName.getText().toString().isEmpty()) { - Toast.makeText(getActivity(), "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); - return; - } else if (passWord.getText().toString().isEmpty()) { - Toast.makeText(getActivity(), "パスワードが未記入です", Toast.LENGTH_SHORT).show(); - return; - } - - Cactus c = (Cactus) getActivity().getApplication(); + FragmentActivity fragmentActivity = getActivity(); FragmentManager manager = getFragmentManager(); - UserLoginController userLoginController = new UserLoginController(c, userName, passWord, manager); + + //動作 + InputUserPresenter inputUserPresenter = new InputUserPresenter(fragmentActivity, userName, passWord, manager); + UserLoginUseCases userLoginUseCases = new UserLoginUseCases(inputUserPresenter); + inputUserPresenter.inputData(); + + //通信 + UserLoginController userLoginController = new UserLoginController(fragmentActivity, manager, userLoginUseCases); userLoginController.addFormParam(); userLoginController.loginResponse(); - } }); }