Advertisement
Guest User

Untitled

a guest
Aug 8th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.38 KB | None | 0 0
  1. package me.frine.shuriken.data.remote;
  2.  
  3. import org.json.JSONObject;
  4.  
  5. import java.util.List;
  6.  
  7. import me.frine.shuriken.data.models.TokenModel;
  8. import me.frine.shuriken.data.models.UserModel;
  9. import retrofit2.Call;
  10. import retrofit2.Callback;
  11. import retrofit2.http.Body;
  12. import retrofit2.http.Field;
  13. import retrofit2.http.FormUrlEncoded;
  14. import retrofit2.http.GET;
  15. import retrofit2.http.Headers;
  16. import retrofit2.http.POST;
  17. import retrofit2.http.Query;
  18.  
  19. /**
  20. * Created by Stefan96100 on 7/26/2017.
  21. */
  22.  
  23. public interface UserClient {
  24. @Headers({
  25. "Accept: application/json",
  26. })
  27.  
  28. @GET("/users/getAllUsers")
  29. Call<List<UserModel>> getAllUsers();
  30.  
  31. @FormUrlEncoded
  32. @POST("/users/register")
  33. Call<UserModel> register(@Field("user") String user);
  34.  
  35. @FormUrlEncoded
  36. @POST("/oauth/token")
  37. Call<TokenModel> token(@Field("username") String username, @Field("password") String password,@Field("grant_type")String grant_type);
  38.  
  39. @POST("/users/login")
  40. Call<UserModel> login(@Body UserModel user);
  41.  
  42.  
  43. }
  44.  
  45. package me.frine.shuriken;
  46.  
  47. import android.content.Intent;
  48. import android.os.AsyncTask;
  49. import android.os.Bundle;
  50. import android.support.v7.app.AppCompatActivity;
  51. import android.util.Log;
  52. import android.view.View;
  53. import android.widget.Button;
  54. import android.widget.EditText;
  55. import android.widget.TextView;
  56.  
  57. import com.google.gson.Gson;
  58. import com.google.gson.JsonObject;
  59.  
  60. import org.json.JSONException;
  61. import org.json.JSONObject;
  62. import org.springframework.http.HttpEntity;
  63. import org.springframework.http.HttpMethod;
  64. import org.springframework.http.ResponseEntity;
  65. import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
  66. import org.springframework.util.LinkedMultiValueMap;
  67. import org.springframework.util.MultiValueMap;
  68. import org.springframework.web.client.RestTemplate;
  69.  
  70. import java.net.URI;
  71. import java.util.List;
  72.  
  73. import me.frine.shuriken.data.models.TokenModel;
  74. import me.frine.shuriken.data.models.UserModel;
  75. import me.frine.shuriken.data.remote.UserClient;
  76. import okhttp3.OkHttpClient;
  77. import okhttp3.ResponseBody;
  78. import retrofit2.Call;
  79. import retrofit2.Callback;
  80. import retrofit2.Response;
  81. import retrofit2.Retrofit;
  82. import retrofit2.converter.gson.GsonConverterFactory;
  83.  
  84. public class LogInActivity extends AppCompatActivity {
  85.  
  86. @Override
  87. protected void onCreate(Bundle savedInstanceState) {
  88. super.onCreate(savedInstanceState);
  89. setContentView(R.layout.activity_log_in);
  90. //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  91. //setSupportActionBar(toolbar);
  92.  
  93.  
  94.  
  95. String API_BASE_URL = "http://frine:darko96%@api.frine.me:7777/";
  96. OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
  97.  
  98. Retrofit.Builder builder =
  99. new Retrofit.Builder()
  100. .baseUrl(API_BASE_URL)
  101. .addConverterFactory(
  102. GsonConverterFactory.create()
  103. );
  104.  
  105. final Retrofit retrofit =
  106. builder
  107. .client(
  108. httpClient.build()
  109. )
  110. .build();
  111.  
  112. //GitHubClient client = retrofit.create(GitHubClient.class);
  113. /*
  114. UserClient client = retrofit.create(UserClient.class);
  115. Call<List<UserModel>> list;
  116.  
  117. list = client.getAllUsers();
  118.  
  119. list.enqueue(new Callback<List<UserModel>>() {
  120. @Override
  121. public void onResponse(Call<List<UserModel>> call, Response<List<UserModel>> response) {
  122. List<UserModel> users = response.body();
  123. for(UserModel user : users){
  124. System.out.println(user.getUsername());
  125. }
  126. }
  127.  
  128. @Override
  129. public void onFailure(Call<List<UserModel>> call, Throwable t) {
  130. System.out.println("Fail to request");
  131. }
  132. });
  133. */
  134.  
  135. final EditText username = (EditText) findViewById(R.id.usernameEditText);
  136. final EditText password = (EditText) findViewById(R.id.passwordEditText);
  137.  
  138.  
  139. // Register button
  140. Button register = (Button) findViewById(R.id.register_button);
  141. register.setOnClickListener(new View.OnClickListener() {
  142. @Override
  143. public void onClick(View v) {
  144. final String usernameRegister = username.getText().toString();
  145. final String passwordRegister = password.getText().toString();
  146. final UserClient client = retrofit.create(UserClient.class);
  147. Call<UserModel> userModelCall;
  148.  
  149. UserModel user = new UserModel();
  150. user.setAvatar(1);
  151. user.setColor(1);
  152. user.setIsmoderator(false);
  153. user.setPassword(passwordRegister);
  154. user.setUsername(usernameRegister);
  155.  
  156.  
  157. System.out.println("User: " + new Gson().toJson(user));
  158.  
  159. //new HttpRequestTask().execute(model);
  160. userModelCall = client.register(new Gson().toJson(user));
  161. userModelCall.enqueue(new Callback<UserModel>(){
  162. @Override
  163. public void onResponse(Call<UserModel> call, Response<UserModel> response) {
  164.  
  165. System.out.println("Success: " + response.body().getUsername());
  166. System.out.println("Call: " + new Gson().toJson(call.request().body()));
  167. if(response.isSuccessful()) {
  168. //the response-body is already parseable to your ResponseBody object
  169. //ResponseBody responseBody = response.body();
  170. //you can do whatever with the response body now...
  171. //String responseBodyString= responseBody.toString();
  172. //Log.d("Response body", responseBodyString);
  173. }
  174. else {
  175. try {
  176. System.out.println("Response errorBody"+ new JSONObject(response.errorBody().toString()).get("message"));
  177. } catch (JSONException e) {
  178. e.printStackTrace();
  179. }
  180. }
  181. }
  182.  
  183. @Override
  184. public void onFailure(Call<UserModel> call, Throwable t) {
  185. System.out.println("Fail to register");
  186. }
  187. });
  188. }
  189. });
  190.  
  191.  
  192.  
  193. //Log in button
  194. Button login = (Button) findViewById(R.id.logIn_button);
  195. login.setOnClickListener(new View.OnClickListener() {
  196. @Override
  197. public void onClick(View v) {
  198. final String usernameLogin = username.getText().toString();
  199. final String passwordLogin = password.getText().toString();
  200.  
  201. final UserClient client = retrofit.create(UserClient.class);
  202.  
  203. Call<TokenModel> tokenModelCall;
  204. tokenModelCall = client.token(usernameLogin, passwordLogin,"password");
  205. tokenModelCall.enqueue(new Callback<TokenModel>() {
  206. @Override
  207. public void onResponse(Call<TokenModel> call, Response<TokenModel> response) {
  208. System.out.println(response.body().getAccess_token());
  209. }
  210.  
  211. @Override
  212. public void onFailure(Call<TokenModel> call, Throwable t) {
  213.  
  214. }
  215. });
  216. }
  217. UserModel user = new UserModel();
  218.  
  219.  
  220. });
  221.  
  222. //new HttpRequestTask().execute();
  223.  
  224. }
  225.  
  226. /*private class HttpRequestTask extends AsyncTask<UserModel, Void, UserModel> {
  227. @Override
  228. protected UserModel doInBackground(UserModel... params) {
  229. try {
  230. final String url = "http://api.frine.me:7777/users/register";
  231. RestTemplate restTemplate = new RestTemplate();
  232. //restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  233. // restTemplate.postForLocation(url, UserModel.class, params[0]);
  234. MultiValueMap<String, Object> body = new LinkedMultiValueMap<String, Object>();
  235.  
  236. body.add("username", (String)"stefcopedal");
  237. body.add("password", (String)"12345678");
  238. body.add("ismoderator",(boolean)false);
  239. body.add("avatar",(int)1);
  240. body.add("color",(int)1);
  241.  
  242. System.out.println(body);
  243.  
  244.  
  245. // Note the body object as first parameter!
  246. HttpEntity<?> httpEntity = new HttpEntity<Object>(body);
  247.  
  248. ResponseEntity<UserModel> model = restTemplate.exchange(url, HttpMethod.POST, httpEntity,UserModel.class);
  249.  
  250. return model.getBody();
  251. } catch (Exception e) {
  252. Log.e("MainActivity", e.getMessage(), e);
  253. }
  254.  
  255. return null;
  256. }
  257.  
  258. @Override
  259. protected void onPostExecute(UserModel greeting) {
  260. System.out.println("Message: " + greeting);
  261. }
  262.  
  263. }
  264. */
  265.  
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement