diff --git a/README.md b/README.md new file mode 100644 index 0000000..11a3324 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +### Cactus-CleanArchitecture + diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/CactusCleanArchitecture.txt b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/CactusCleanArchitecture.txt new file mode 100644 index 0000000..0a803f6 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/CactusCleanArchitecture.txt @@ -0,0 +1,39 @@ +CactusのCleanArchitecture + +---------------------------------------------------------- +ログイン処理 +Login画面のCleanArchitectureに対応させた。 +関係するクラス + +- Controller +・InputUserPresenter +Viewからの入力操作を実装 +・UserLoginController +Webサーバへの通信処理を実装 + +- Entity +・CactusUserEntity +Cactus全体のデータを保持する + +- +(以下通信のやつ。ここまでしなくてよかった気がする) +・CactusAPIEntity +全体で変わらない土台URL +・CactusConnection +HttpAsyncConnectionを継承してCactus上で使用するクラス +・CactusConnectionEntity +Cactusの通信各リソースの保存 + + +- UseCase +・UserLoginBoundary +ViewからインプットしたデータをUseCaseにもって行くときに使うInterface +・UserLoginControllerBoundary +UserCaseからController(通信処理するクラス)にデータを持っていきたいときに使うInterface +・UseLoginUseCase +ログイン関係のデータの流れを処理するクラス + +- View +・LoginFragment +ログイン実装のメインクラス +---------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Controller/InputUserPresenter.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Controller/InputUserPresenter.java new file mode 100644 index 0000000..495fcc3 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Controller/InputUserPresenter.java @@ -0,0 +1,46 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Controller; + +import android.support.v4.app.FragmentActivity; +import android.widget.EditText; +import android.widget.Toast; + +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.UserLoginBoundary; + +/** + * 入力したデータをString型に変換し、入力判定を行うクラス + * + * @author n-konishi + */ + +public class InputUserPresenter implements UserLoginBoundary { + private String userID; + private String userPass; + FragmentActivity fragmentActivity; + + + public InputUserPresenter(FragmentActivity fragmentActivity, EditText userName, EditText passWord) { + this.userID = userName.getText().toString(); + this.userPass = passWord.getText().toString(); + this.fragmentActivity = fragmentActivity; + } + + 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/CactusCleanArchitecture/Controller/UserLoginController.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Controller/UserLoginController.java new file mode 100644 index 0000000..966e19f --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Controller/UserLoginController.java @@ -0,0 +1,103 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Controller; + +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentTransaction; +import android.widget.Toast; + +import net.arnx.jsonic.JSON; +import net.arnx.jsonic.TypeReference; + +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.CactusConnection; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.UserLoginBoundary; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.UserLoginControllerBoundary; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; +import org.ntlab.radishforandroidstudio.cactusClient.views.InstancesFragment; +import org.ntlab.radishforandroidstudio.framework.network.CallBack; + +/** + * Webサーバと通信を行いデータのやりとりをするクラス + * + * @author n-konishi + */ + +public class UserLoginController { + + private String userID; + private String userPass; + private FragmentManager manager; + + private CactusConnection loginConnection; + private FragmentActivity fragmentActivity; + UserLoginControllerBoundary userLoginControllerBoundary; + + + public UserLoginController(FragmentActivity fragmentActivity, FragmentManager fragmentManager, UserLoginControllerBoundary userLoginControllerBound) { + this.fragmentActivity = fragmentActivity; + this.manager = fragmentManager; + + this. userLoginControllerBoundary = userLoginControllerBound; + + this.userID = userLoginControllerBoundary.getUserID(); + this.userPass = userLoginControllerBoundary.getUserPass(); + + UserLoginBoundary userLoginBoundary = null; + + UserLoginUseCases loginUseCases = new UserLoginUseCases(userLoginBoundary); + String login_URL = loginUseCases.userLoginURL(); + loginConnection = new CactusConnection(login_URL); + + } + + public void addFormParam() { + loginConnection.addFormParam("userID", userID); + loginConnection.addFormParam("userPass", userPass); + loginConnection.doPut(); + } + + private void decodeJson(String response) { + URIAddressedAccount lac = JSON.decode(response, new TypeReference() { + }); + System.out.println(response); + Account user = lac.getAccount(); + if (user.isLogin()) { + System.out.println("成功"); + Toast.makeText(fragmentActivity,"ログインに成功しました。", Toast.LENGTH_SHORT).show(); + Cactus 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 { + Toast.makeText(fragmentActivity,"ログインに失敗しました。", Toast.LENGTH_SHORT).show(); + + } + } + + + public void loginResponse() { + + loginConnection.setCallBack(new CallBack() { + @Override + public void onResponse(String response) { + decodeJson(response); + } + }); + } +} + + + + + + + + + diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusAPIEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusAPIEntity.java new file mode 100644 index 0000000..7f63d7f --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusAPIEntity.java @@ -0,0 +1,12 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities; + +/** + * WebからRestAPIを取得するためのクラス + * + * @author n-konisi + */ + +public interface CactusAPIEntity { + + String API_BASE_URI ="http://nitta-lab-www.is.konan-u.ac.jp/CactusServer/rest/"; +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnection.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnection.java new file mode 100644 index 0000000..9863aab --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnection.java @@ -0,0 +1,18 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities; + +import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection; + +/** + * Cactus上で使用する基本HttpAsyncConnectionのクラス + * + * @author n-konishi + */ + +public class CactusConnection extends HttpAsyncConnection { + public CactusConnection(String url) { + super(url); + } + + +} + diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnectionEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnectionEntity.java new file mode 100644 index 0000000..059af44 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusConnectionEntity.java @@ -0,0 +1,17 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities; + +/** + * CactusのAPIのURLを保持するクラス + * + * @author n-konishi + */ + +public class CactusConnectionEntity implements CactusAPIEntity { + + private String LOGIN_URL = API_BASE_URI +"accounts"; + + public String getLOGIN_URL() { + return LOGIN_URL; + } + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusUserEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusUserEntity.java new file mode 100644 index 0000000..7629c39 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/Entities/CactusUserEntity.java @@ -0,0 +1,31 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities; + +/** + * Userのデータ(account情報)を保持するEntityクラス + * + * @author n-konishi + */ +public class CactusUserEntity { + private String userId; + private String userPass; + + public CactusUserEntity() { + + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserPass() { + return userPass; + } + + public void setUserPass(String userPass) { + this.userPass = userPass; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginBoundary.java new file mode 100644 index 0000000..858156a --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginBoundary.java @@ -0,0 +1,16 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases; + +/** + * 入力情報をInputUserPresenterからUserLoginUserCaseに + * 情報を渡すためのInterfaceクラス + * + * @author n-konishi + */ + +public interface UserLoginBoundary { + + String getUserId(); + + String getUserPass(); + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginControllerBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginControllerBoundary.java new file mode 100644 index 0000000..13c090b --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginControllerBoundary.java @@ -0,0 +1,14 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases; + +/** + * UserLoginUseCaseからUserLoginControllerに + * 情報を渡すためのInterfaceクラス + * + * @author n-konishi + */ + +public interface UserLoginControllerBoundary { + String getUserID(); + + String getUserPass(); +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginUseCases.java new file mode 100644 index 0000000..9e928ff --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/UseCases/UserLoginUseCases.java @@ -0,0 +1,48 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases; + +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.CactusConnectionEntity; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.CactusUserEntity; + +/** + * Userのログイン情報のデータの流れを調整するクラス + */ + +public class UserLoginUseCases implements UserLoginControllerBoundary { + + private String LOGIN_URL; + private CactusConnectionEntity cactusConnectionEntity; + private UserLoginBoundary userLoginBoundary; + + private String userID; + private String userPass; + CactusUserEntity cactusUserEntity; + + public UserLoginUseCases(UserLoginBoundary userLoginBound) { + this.userLoginBoundary = userLoginBound; + //Entityに情報をセットする + cactusUserEntity = new CactusUserEntity(); + } + + public String userLoginURL() { + cactusConnectionEntity = new CactusConnectionEntity(); + LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); + return LOGIN_URL; + } + + + @Override + public String getUserID() { + userID = userLoginBoundary.getUserId(); + cactusUserEntity.setUserId(userID); + return userID; + } + + @Override + public String getUserPass() { + userPass = userLoginBoundary.getUserPass(); + cactusUserEntity.setUserPass(userPass); + return userPass; + } + + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/View/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/View/LoginFragment.java new file mode 100644 index 0000000..387edbf --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusCleanArchitecture/View/LoginFragment.java @@ -0,0 +1,65 @@ +package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.View; + +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; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; + +import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Controller.InputUserPresenter; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Controller.UserLoginController; +import org.ntlab.radishforandroidstudio.cactusClient.views.SignUpFragment; + + +public class LoginFragment extends Fragment { + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.login_fragment, container, false); + } + + @Override + public void onStart() { + super.onStart(); + + Button button = (Button) getActivity().findViewById(R.id.signUP1); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + FragmentManager manager = getFragmentManager(); + FragmentTransaction transaction = manager.beginTransaction(); + transaction.addToBackStack(null); + transaction.replace(R.id.fragment_place, new SignUpFragment()); + transaction.commit(); + } + }); + Button loginButton = (Button) getActivity().findViewById(R.id.login); + loginButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); + EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); + FragmentActivity fragmentActivity = getActivity(); + FragmentManager manager = getFragmentManager(); + + //動作 + InputUserPresenter inputUserPresenter = new InputUserPresenter(fragmentActivity, userName, passWord); + UserLoginUseCases userLoginUseCases = new UserLoginUseCases(inputUserPresenter); + inputUserPresenter.inputData(); + + //通信 + UserLoginController userLoginController = new UserLoginController(fragmentActivity, manager, userLoginUseCases); + userLoginController.addFormParam(); + userLoginController.loginResponse(); + + } + }); + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt deleted file mode 100644 index 0a803f6..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt +++ /dev/null @@ -1,39 +0,0 @@ -CactusのCleanArchitecture - ----------------------------------------------------------- -ログイン処理 -Login画面のCleanArchitectureに対応させた。 -関係するクラス - -- Controller -・InputUserPresenter -Viewからの入力操作を実装 -・UserLoginController -Webサーバへの通信処理を実装 - -- Entity -・CactusUserEntity -Cactus全体のデータを保持する - -- -(以下通信のやつ。ここまでしなくてよかった気がする) -・CactusAPIEntity -全体で変わらない土台URL -・CactusConnection -HttpAsyncConnectionを継承してCactus上で使用するクラス -・CactusConnectionEntity -Cactusの通信各リソースの保存 - - -- UseCase -・UserLoginBoundary -ViewからインプットしたデータをUseCaseにもって行くときに使うInterface -・UserLoginControllerBoundary -UserCaseからController(通信処理するクラス)にデータを持っていきたいときに使うInterface -・UseLoginUseCase -ログイン関係のデータの流れを処理するクラス - -- View -・LoginFragment -ログイン実装のメインクラス ----------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java deleted file mode 100644 index f851684..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller; - -import android.support.v4.app.FragmentActivity; -import android.widget.EditText; -import android.widget.Toast; - -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginBoundary; - -/** - * 入力したデータをString型に変換し、入力判定を行うクラス - * - * @author n-konishi - */ - -public class InputUserPresenter implements UserLoginBoundary { - private String userID; - private String userPass; - FragmentActivity fragmentActivity; - - - public InputUserPresenter(FragmentActivity fragmentActivity, EditText userName, EditText passWord) { - this.userID = userName.getText().toString(); - this.userPass = passWord.getText().toString(); - this.fragmentActivity = fragmentActivity; - } - - 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/CactusLoginCleanArchitecture/Controller/UserLoginController.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/UserLoginController.java deleted file mode 100644 index 3136c72..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/UserLoginController.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller; - -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.widget.Toast; - -import net.arnx.jsonic.JSON; -import net.arnx.jsonic.TypeReference; - -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusConnection; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginBoundary; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginControllerBoundary; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginUseCases; -import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.cactusClient.Cactus; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; -import org.ntlab.radishforandroidstudio.cactusClient.views.InstancesFragment; -import org.ntlab.radishforandroidstudio.framework.network.CallBack; - -/** - * Webサーバと通信を行いデータのやりとりをするクラス - * - * @author n-konishi - */ - -public class UserLoginController { - - private String userID; - private String userPass; - private FragmentManager manager; - - private CactusConnection loginConnection; - private FragmentActivity fragmentActivity; - UserLoginControllerBoundary userLoginControllerBoundary; - - - public UserLoginController(FragmentActivity fragmentActivity, FragmentManager fragmentManager, UserLoginControllerBoundary userLoginControllerBound) { - this.fragmentActivity = fragmentActivity; - this.manager = fragmentManager; - - this. userLoginControllerBoundary = userLoginControllerBound; - - this.userID = userLoginControllerBoundary.getUserID(); - this.userPass = userLoginControllerBoundary.getUserPass(); - - UserLoginBoundary userLoginBoundary = null; - - UserLoginUseCases loginUseCases = new UserLoginUseCases(userLoginBoundary); - String login_URL = loginUseCases.userLoginURL(); - loginConnection = new CactusConnection(login_URL); - - } - - public void addFormParam() { - loginConnection.addFormParam("userID", userID); - loginConnection.addFormParam("userPass", userPass); - loginConnection.doPut(); - } - - private void decodeJson(String response) { - URIAddressedAccount lac = JSON.decode(response, new TypeReference() { - }); - System.out.println(response); - Account user = lac.getAccount(); - if (user.isLogin()) { - System.out.println("成功"); - Toast.makeText(fragmentActivity,"ログインに成功しました。", Toast.LENGTH_SHORT).show(); - Cactus 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 { - Toast.makeText(fragmentActivity,"ログインに失敗しました。", Toast.LENGTH_SHORT).show(); - - } - } - - - public void loginResponse() { - - loginConnection.setCallBack(new CallBack() { - @Override - public void onResponse(String response) { - decodeJson(response); - } - }); - } -} - - - - - - - - - diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java deleted file mode 100644 index bc0e3a9..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; - -/** - * WebからRestAPIを取得するためのクラス - * - * @author n-konisi - */ - -public interface CactusAPIEntity { - - String API_BASE_URI ="http://nitta-lab-www.is.konan-u.ac.jp/CactusServer/rest/"; -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java deleted file mode 100644 index 9ca961a..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; - -import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection; - -/** - * Cactus上で使用する基本HttpAsyncConnectionのクラス - * - * @author n-konishi - */ - -public class CactusConnection extends HttpAsyncConnection { - public CactusConnection(String url) { - super(url); - } - - -} - diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java deleted file mode 100644 index 045b34d..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; - -/** - * CactusのAPIのURLを保持するクラス - * - * @author n-konishi - */ - -public class CactusConnectionEntity implements CactusAPIEntity { - - private String LOGIN_URL = API_BASE_URI +"accounts"; - - public String getLOGIN_URL() { - return LOGIN_URL; - } - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java deleted file mode 100644 index d71b15b..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; - -/** - * Userのデータ(account情報)を保持するEntityクラス - * - * @author n-konishi - */ -public class CactusUserEntity { - private String userId; - private String userPass; - - public CactusUserEntity() { - - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - - public String getUserPass() { - return userPass; - } - - public void setUserPass(String userPass) { - this.userPass = userPass; - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java deleted file mode 100644 index 936ef59..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; - -/** - * 入力情報を{@InputUserPresenter}から{@UserLoginUserCase}に - * 情報を渡すためのInterfaceクラス - * - * @author n-konishi - */ - -public interface UserLoginBoundary { - - String getUserId(); - - String getUserPass(); - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java deleted file mode 100644 index ed6580e..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; - -/** - * {@UserLoginUseCase}から{@UserLoginController}に - * 情報を渡すためのInterfaceクラス - * - * @author n-konishi - */ - -public interface UserLoginControllerBoundary { - String getUserID(); - - String getUserPass(); -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java deleted file mode 100644 index 01927a2..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; - -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusConnectionEntity; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusUserEntity; - -/** - * Userのログイン情報のデータの流れを調整するクラス - */ - -public class UserLoginUseCases implements UserLoginControllerBoundary { - - private String LOGIN_URL; - private CactusConnectionEntity cactusConnectionEntity; - private UserLoginBoundary userLoginBoundary; - - private String userID; - private String userPass; - CactusUserEntity cactusUserEntity; - - public UserLoginUseCases(UserLoginBoundary userLoginBound) { - this.userLoginBoundary = userLoginBound; - //Entityに情報をセットする - cactusUserEntity = new CactusUserEntity(); - } - - public String userLoginURL() { - cactusConnectionEntity = new CactusConnectionEntity(); - LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); - return LOGIN_URL; - } - - - @Override - public String getUserID() { - userID = userLoginBoundary.getUserId(); - cactusUserEntity.setUserId(userID); - return userID; - } - - @Override - public String getUserPass() { - userPass = userLoginBoundary.getUserPass(); - cactusUserEntity.setUserPass(userPass); - return userPass; - } - - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java deleted file mode 100644 index 01a5ab5..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.View; - -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; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; - -import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginUseCases; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller.InputUserPresenter; -import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller.UserLoginController; -import org.ntlab.radishforandroidstudio.cactusClient.views.SignUpFragment; - - -public class LoginFragment extends Fragment { - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.login_fragment, container, false); - } - - @Override - public void onStart() { - super.onStart(); - - Button button = (Button) getActivity().findViewById(R.id.signUP1); - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - FragmentManager manager = getFragmentManager(); - FragmentTransaction transaction = manager.beginTransaction(); - transaction.addToBackStack(null); - transaction.replace(R.id.fragment_place, new SignUpFragment()); - transaction.commit(); - } - }); - Button loginButton = (Button) getActivity().findViewById(R.id.login); - loginButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); - EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); - FragmentActivity fragmentActivity = getActivity(); - FragmentManager manager = getFragmentManager(); - - //動作 - InputUserPresenter inputUserPresenter = new InputUserPresenter(fragmentActivity, userName, passWord); - UserLoginUseCases userLoginUseCases = new UserLoginUseCases(inputUserPresenter); - inputUserPresenter.inputData(); - - //通信 - UserLoginController userLoginController = new UserLoginController(fragmentActivity, manager, userLoginUseCases); - userLoginController.addFormParam(); - userLoginController.loginResponse(); - - } - }); - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusAPIEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusAPIEntity.java deleted file mode 100644 index 1bcbbf4..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusAPIEntity.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.Entities; - -/** - * ネットワークからデータを取得するためのRestAPI - */ - -public interface CactusAPIEntity { - - String API_BASE_URI ="http://nitta-lab-www.is.konan-u.ac.jp/CactusServer/rest/"; -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java deleted file mode 100644 index 43af5fb..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.Entities; - -import net.arnx.jsonic.JSONHint; - -public class CactusUserEntity { - - @JSONHint(name = "userID") - private String userId; - - @JSONHint(name = "userPass") - private String userPass; - - @JSONHint(name = "userName") - private String userName; - - public CactusUserEntity(){ - //empty - } - - - public String getUserId() { - return userId; - } - - public String getUserPass() { - return userPass; - } - - public String getUserName() { - return userName; - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UseCase.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UseCase.java deleted file mode 100644 index 852587d..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UseCase.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.UseCases; - -public class UseCase { - - -} 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 deleted file mode 100644 index 41bbbe1..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginBoundary.java +++ /dev/null @@ -1,9 +0,0 @@ -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 deleted file mode 100644 index 0a8115d..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginControllerBoundary.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.UseCases; - -public interface UserLoginControllerBoundary { - String getUserID(); - String getUserPass(); -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java index beea271..9c11369 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java @@ -14,6 +14,7 @@ import net.arnx.jsonic.JSON; import net.arnx.jsonic.TypeReference; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.View.LoginFragment; import org.ntlab.radishforandroidstudio.R; import org.ntlab.radishforandroidstudio.cactusClient.connections.SignUpFragmentConnection; import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/StartFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/StartFragment.java index a665386..0f6e5a2 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/StartFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/StartFragment.java @@ -10,6 +10,7 @@ import android.view.ViewGroup; import android.widget.Button; +import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.View.LoginFragment; import org.ntlab.radishforandroidstudio.R; public class StartFragment extends Fragment { diff --git a/app/src/main/res/layout/login_fragment.xml b/app/src/main/res/layout/login_fragment.xml index bf988b6..0d0fc70 100644 --- a/app/src/main/res/layout/login_fragment.xml +++ b/app/src/main/res/layout/login_fragment.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/background_light" - tools:context=".cactusClient.views.LoginFragment"> + tools:context=".CactusCleanArchitecture.View.LoginFragment">