diff --git a/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java b/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java index e22a573b4eb986a0eb22033e22cd1db387afd140..9b655a2eadb9cb5131b1dfbdd641bde8b2aee0fe 100644 --- a/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java +++ b/Backend/src/main/java/com/mobilecomputing/pecunia/model/Trip.java @@ -13,14 +13,16 @@ public class Trip { private Date endOfTrip; private List<String> tripParticipants; private List<String> transactions; + private List<String> admins; public Trip(String tripName, Date startOfTrip, Date endOfTrip, List<String> tripParticipants, - List<String> transactions) { + List<String> transactions, List<String> admins) { this.tripName = tripName; this.startOfTrip = startOfTrip; this.endOfTrip = endOfTrip; this.tripParticipants = tripParticipants; - this.transactions=transactions; + this.transactions = transactions; + this.admins = admins; } public String getTripId() { @@ -70,4 +72,12 @@ public class Trip { public void setTransactions(List<String> transactions) { this.transactions = transactions; } + + public List<String> getAdmins() { + return admins; + } + + public void setAdmins(List<String> admins) { + this.admins = admins; + } } diff --git a/Frontend/.idea/misc.xml b/Frontend/.idea/misc.xml index 37a750962da6f2b31810e85c8acae1081de7f58c..7bfef59df1ca77948220ecd36b0f19f148ab7914 100644 --- a/Frontend/.idea/misc.xml +++ b/Frontend/.idea/misc.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/Frontend/app/build.gradle b/Frontend/app/build.gradle index 443a2464534f903ae003b5f291dfd0ec87c214ed..3188c4e16ef65dfabfe6809d4da9f9dae6f4a5e4 100644 --- a/Frontend/app/build.gradle +++ b/Frontend/app/build.gradle @@ -3,7 +3,10 @@ apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.3" - + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } defaultConfig { applicationId "com.example.mobileapp" minSdkVersion 16 @@ -35,6 +38,8 @@ dependencies { implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc01" implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation group: 'com.squareup.retrofit2', name: 'retrofit', version: '2.9.0' + implementation 'com.squareup.retrofit2:converter-gson:2.3.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/Frontend/app/src/main/java/com/example/mobileapp/model/Transaction.java b/Frontend/app/src/main/java/com/example/mobileapp/model/Transaction.java new file mode 100644 index 0000000000000000000000000000000000000000..21508dfbf51975008124cb5c3c5433ac6281efe3 --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/model/Transaction.java @@ -0,0 +1,56 @@ +package com.example.mobileapp.model; + +public class Transaction { + String transactionId; + private String debtor; //Schuldner + private String creditor; // Gläubiger + private String currency; // vllt Enum? + private double loan; + + public Transaction(String debtor, String creditor, String currency, double loan) { + this.debtor = debtor; + this.creditor = creditor; + this.currency = currency; + this.loan = loan; + } + + public String getTransactionId() { + return transactionId; + } + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + public String getDebtor() { + return debtor; + } + + public void setDebtor(String debtor) { + this.debtor = debtor; + } + + public String getCreditor() { + return creditor; + } + + public void setCreditor(String creditor) { + this.creditor = creditor; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public double getLoan() { + return loan; + } + + public void setLoan(double loan) { + this.loan = loan; + } +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/model/Trip.java b/Frontend/app/src/main/java/com/example/mobileapp/model/Trip.java new file mode 100644 index 0000000000000000000000000000000000000000..b29402004ed6c5d8ddd737b6e9b7d0906e4bdce9 --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/model/Trip.java @@ -0,0 +1,80 @@ +package com.example.mobileapp.model; + +import java.util.Date; +import java.util.List; + +public class Trip { + private String tripId; + private String tripName; + private Date startOfTrip; + private Date endOfTrip; + private List<String> tripParticipants; + private List<String> transactions; + private List<String> admins; + + public Trip(String tripName, Date startOfTrip, Date endOfTrip, List<String> tripParticipants, + List<String> transactions, List<String> admins) { + this.tripName = tripName; + this.startOfTrip = startOfTrip; + this.endOfTrip = endOfTrip; + this.tripParticipants = tripParticipants; + this.transactions = transactions; + this.admins = admins; + } + + public String getTripId() { + return tripId; + } + + public void setTripId(String tripId) { + this.tripId = tripId; + } + + public String getTripName() { + return tripName; + } + + public void setTripName(String tripName) { + this.tripName = tripName; + } + + public Date getStartOfTrip() { + return startOfTrip; + } + + public void setStartOfTrip(Date startOfTrip) { + this.startOfTrip = startOfTrip; + } + + public Date getEndOfTrip() { + return endOfTrip; + } + + public void setEndOfTrip(Date endOfTrip) { + this.endOfTrip = endOfTrip; + } + + public List<String> getTripParticipants() { + return tripParticipants; + } + + public void setTripParticipants(List<String> tripParticipants) { + this.tripParticipants = tripParticipants; + } + + public List<String> getTransactions() { + return transactions; + } + + public void setTransactions(List<String> transactions) { + this.transactions = transactions; + } + + public List<String> getAdmins() { + return admins; + } + + public void setAdmins(List<String> admins) { + this.admins = admins; + } +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/model/User.java b/Frontend/app/src/main/java/com/example/mobileapp/model/User.java new file mode 100644 index 0000000000000000000000000000000000000000..4ad3feb37f83bf0ea1b82c022d8b18a4c72c3fb7 --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/model/User.java @@ -0,0 +1,40 @@ +package com.example.mobileapp.model; + +public class User { + private String eMail; + private String name; + private String password; + + public String geteMail() { + return eMail; + } + + public void seteMail(String eMail) { + this.eMail = eMail; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public String toString() { + return "User{" + + "eMail='" + eMail + '\'' + + ", name='" + name + '\'' + + ", password='" + password + '\'' + + '}'; + } +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/networking/RetrofitClient.java b/Frontend/app/src/main/java/com/example/mobileapp/networking/RetrofitClient.java new file mode 100644 index 0000000000000000000000000000000000000000..bdac66afb3fbdac64dee8db8f5c4a7db1f1863f6 --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/networking/RetrofitClient.java @@ -0,0 +1,25 @@ +package com.example.mobileapp.networking; + +import okhttp3.OkHttpClient; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +/** + * https://www.baeldung.com/retrofit + */ +public class RetrofitClient { + private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); + private static Retrofit retrofit; + private static final String BASE_URL = "http://localhost:8080/"; + + public static Retrofit getRetrofitInstance() { + if (retrofit == null) { + retrofit = new retrofit2.Retrofit.Builder() + .baseUrl(BASE_URL) + .addConverterFactory(GsonConverterFactory.create()) + .client(httpClient.build()) + .build(); + } + return retrofit; + } +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/networking/TripService.java b/Frontend/app/src/main/java/com/example/mobileapp/networking/TripService.java new file mode 100644 index 0000000000000000000000000000000000000000..9f2dc3b9564c7844240f9a1890491775fb9d7c8e --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/networking/TripService.java @@ -0,0 +1,24 @@ +package com.example.mobileapp.networking; + + + +import com.example.mobileapp.model.Trip; + +import java.util.List; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface TripService { + @GET("trip/getTripById") + public Call<Trip> getTripId(@Query("id") String id); + + @GET("/trip/getTripsByUser") + public Call<List<Trip>> getTripsByUser(@Query("eMail") String eMail); + + @POST("/trip/addTrip") + public Call<String> addTrip(@Body Trip trip); +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/networking/UserService.java b/Frontend/app/src/main/java/com/example/mobileapp/networking/UserService.java new file mode 100644 index 0000000000000000000000000000000000000000..c4607be03b4b2709f7a7f6c43caa3b275e2b2968 --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/networking/UserService.java @@ -0,0 +1,20 @@ +package com.example.mobileapp.networking; + +import com.example.mobileapp.model.User; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface UserService { + @GET("user/getByEMail") + public Call<User> getUserByEmail(@Query("eMail") String eMail); + + @POST("user/registrateUser") + public Call<String> registrateUser(@Body User user); + + @POST("user/addUserToTrip") + public Call<String> addUserToTrip(@Body User user); +}