diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3869790
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea
+maven2.iml
+maven2/target
diff --git a/maven2/pom.xml b/maven2/pom.xml
new file mode 100644
index 0000000..bf01d2c
--- /dev/null
+++ b/maven2/pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+
+ org.example
+ maven2
+ 1.0-SNAPSHOT
+
+
+ 21
+ 21
+ UTF-8
+
+
+
+ com.google.code.gson
+ gson
+ 2.10
+
+
+
+
+
\ No newline at end of file
diff --git a/maven2/src/main/java/Apartment.java b/maven2/src/main/java/Apartment.java
new file mode 100644
index 0000000..da7c192
--- /dev/null
+++ b/maven2/src/main/java/Apartment.java
@@ -0,0 +1,90 @@
+import java.util.UUID;
+
+public class Apartment {
+ private String id;
+ private String address;
+ private double price;
+ private int rooms;
+ private String description;
+ private String owner;
+ private boolean available;
+
+ public Apartment(String address, double price, int rooms, String description, String owner, boolean available) {
+ this.id = UUID.randomUUID().toString();
+ setAddress(address);
+ setPrice(price);
+ setRooms(rooms);
+ setDescription(description);
+ setOwner(owner);
+ setAvailable(available);
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+
+ public int getRooms() {
+ return rooms;
+ }
+
+ public void setRooms(int rooms) {
+ this.rooms = rooms;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getOwner() {
+ return owner;
+ }
+
+ public void setOwner(String owner) {
+ this.owner = owner;
+ }
+
+ public boolean isAvailable() {
+ return available;
+ }
+
+ public void setAvailable(boolean available) {
+ this.available = available;
+ }
+
+ @Override
+ public String toString() {
+ return "Apartment{" +
+ "id='" + id + '\'' +
+ ", address='" + address + '\'' +
+ ", price=" + price +
+ ", rooms=" + rooms +
+ ", description='" + description + '\'' +
+ ", owner='" + owner + '\'' +
+ ", available=" + available +
+ '}';
+ }
+}
diff --git a/maven2/src/main/java/ApartmentCreator.java b/maven2/src/main/java/ApartmentCreator.java
new file mode 100644
index 0000000..dce0d38
--- /dev/null
+++ b/maven2/src/main/java/ApartmentCreator.java
@@ -0,0 +1,30 @@
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+public class ApartmentCreator {
+ public static void main(String[] args) throws IOException {
+ List apartments = new ArrayList<>();
+
+ Apartment apartment1 = new Apartment("C/Tomillo 5",700, 3,"Apartamento luminoso cercade la sierra", "Jose Pérez", true);
+ Apartment apartment2 = new Apartment("C/Edison", 1500,4,"Muy moderno, amueblado", "Rosa Ruiz",true);
+ Apartment apartment3 = new Apartment("C/Capuchinos", 1100,1,"Estudio acogedor en el centro", "Carlos Lopez",false);
+ Apartment apartment4 = new Apartment("C/Lemus", 2000,5,"Duplex con jardin", "Joaquin Gomez",false);
+
+ apartments.add(apartment1);
+ apartments.add(apartment2);
+ apartments.add(apartment3);
+ apartments.add(apartment4);
+
+ System.out.println("Apartamentos añadidos: "+ apartment1);
+
+ FileWriter apartmentWriter = new FileWriter("new_apartments.json");
+ Gson gson = new GsonBuilder().setPrettyPrinting().create();
+ gson.toJson(apartments, apartmentWriter);
+
+ apartmentWriter.close();
+ }
+}
\ No newline at end of file
diff --git a/maven2/src/main/java/ApartmentManager.java b/maven2/src/main/java/ApartmentManager.java
new file mode 100644
index 0000000..4a301b2
--- /dev/null
+++ b/maven2/src/main/java/ApartmentManager.java
@@ -0,0 +1,28 @@
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.*;
+
+public class ApartmentManager {
+ public static void main(String[] args) throws IOException {
+ Gson gson = new GsonBuilder().setPrettyPrinting().create();
+
+ Reader reader = new FileReader("apartments.json");
+ Apartment[] apartmentsArr = gson.fromJson(reader, Apartment[].class);
+
+ List apartmentList= new ArrayList<>();
+
+ Collections.addAll(apartmentList, apartmentsArr);
+
+ for(Apartment each:apartmentList) {
+ if (each.getId() == null) {
+ each.setId(UUID.randomUUID().toString());
+ }
+ }
+
+ System.out.println(apartmentList);
+ reader.close();
+ }
+}
diff --git a/new_apartments.json b/new_apartments.json
new file mode 100644
index 0000000..630bb6e
--- /dev/null
+++ b/new_apartments.json
@@ -0,0 +1,38 @@
+[
+ {
+ "id": "31f29ee0-71eb-43a8-8ba2-3cdcda7a63bc",
+ "address": "C/Tomillo 5",
+ "price": 700.0,
+ "rooms": 3,
+ "description": "Apartamento luminoso cercade la sierra",
+ "owner": "Jose Pérez",
+ "available": true
+ },
+ {
+ "id": "d5c538a8-279b-41cd-8601-ae9f804e5475",
+ "address": "C/Edison",
+ "price": 1500.0,
+ "rooms": 4,
+ "description": "Muy moderno, amueblado",
+ "owner": "Rosa Ruiz",
+ "available": true
+ },
+ {
+ "id": "baad6953-7edc-4573-81f6-71edc87dbe61",
+ "address": "C/Capuchinos",
+ "price": 1100.0,
+ "rooms": 1,
+ "description": "Estudio acogedor en el centro",
+ "owner": "Carlos Lopez",
+ "available": false
+ },
+ {
+ "id": "a658e620-83ca-4b8a-b48f-3e2eb8a2fce9",
+ "address": "C/Lemus",
+ "price": 2000.0,
+ "rooms": 5,
+ "description": "Duplex con jardin",
+ "owner": "Joaquin Gomez",
+ "available": false
+ }
+]
\ No newline at end of file