From 5c5be08581277e8f7aa076daf2852a38504c9619 Mon Sep 17 00:00:00 2001 From: AlvaroGA99 <55707621+AlvaroGA99@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:44:24 +0200 Subject: [PATCH 1/3] Lab Commit --- .idea/compiler.xml | 13 + .idea/encodings.xml | 7 + .idea/jarRepositories.xml | 20 + .idea/misc.xml | 14 + .idea/modules.xml | 8 + .idea/workspace.xml | 85 ++++ lab-mave-gson/pom.xml | 25 ++ .../src/main/java/org/example/Apartment.java | 105 +++++ .../java/org/example/ApartmentCreator.java | 30 ++ .../java/org/example/ApartmentManager.java | 26 ++ .../src/main/java/org/example/Main.java | 17 + .../src/main/resources/apartments.json | 0 .../src/main/resources/new_apartments.json | 29 ++ lab-mave-gson/target/classes/apartments.json | 394 ++++++++++++++++++ .../classes/org/example/Apartment.class | Bin 0 -> 2799 bytes .../org/example/ApartmentCreator.class | Bin 0 -> 1902 bytes .../org/example/ApartmentManager.class | Bin 0 -> 1701 bytes .../target/classes/org/example/Main.class | Bin 0 -> 554 bytes 18 files changed, 773 insertions(+) create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/workspace.xml create mode 100644 lab-mave-gson/pom.xml create mode 100644 lab-mave-gson/src/main/java/org/example/Apartment.java create mode 100644 lab-mave-gson/src/main/java/org/example/ApartmentCreator.java create mode 100644 lab-mave-gson/src/main/java/org/example/ApartmentManager.java create mode 100644 lab-mave-gson/src/main/java/org/example/Main.java rename apartments.json => lab-mave-gson/src/main/resources/apartments.json (100%) create mode 100644 lab-mave-gson/src/main/resources/new_apartments.json create mode 100644 lab-mave-gson/target/classes/apartments.json create mode 100644 lab-mave-gson/target/classes/org/example/Apartment.class create mode 100644 lab-mave-gson/target/classes/org/example/ApartmentCreator.class create mode 100644 lab-mave-gson/target/classes/org/example/ApartmentManager.class create mode 100644 lab-mave-gson/target/classes/org/example/Main.class diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..5cc5682 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..e099411 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..061c748 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..00f30c4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..1821331 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1744123537510 + + + + \ No newline at end of file diff --git a/lab-mave-gson/pom.xml b/lab-mave-gson/pom.xml new file mode 100644 index 0000000..4b3ea5e --- /dev/null +++ b/lab-mave-gson/pom.xml @@ -0,0 +1,25 @@ + + + 4.0.0 + + org.example + lab-mave-gson + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + + com.google.code.gson + gson + 2.10 + + + + + \ No newline at end of file diff --git a/lab-mave-gson/src/main/java/org/example/Apartment.java b/lab-mave-gson/src/main/java/org/example/Apartment.java new file mode 100644 index 0000000..1db7305 --- /dev/null +++ b/lab-mave-gson/src/main/java/org/example/Apartment.java @@ -0,0 +1,105 @@ +package org.example; + +import java.util.UUID; + +public class Apartment { + //Vamos a crear una clase Apartment que contenga los siguientes atributos: + // + //id (long) + //address (String) + //price (double) + //rooms (int) + //description (String) + //owner (String) + //available (boolean) + + + private UUID 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 = this.id = UUID.randomUUID(); + this.address = address; + this.price = price; + this.rooms = rooms; + this.description = description; + this.owner = owner; + this.available = available; + } + + public UUID getId() { + return id; + } + + public void setId(UUID 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/lab-mave-gson/src/main/java/org/example/ApartmentCreator.java b/lab-mave-gson/src/main/java/org/example/ApartmentCreator.java new file mode 100644 index 0000000..8d48f85 --- /dev/null +++ b/lab-mave-gson/src/main/java/org/example/ApartmentCreator.java @@ -0,0 +1,30 @@ +package org.example; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class ApartmentCreator { + public static void main(String[] args) throws IOException { + + List newApartments = new ArrayList<>(); + + Apartment apartment1 = new Apartment("123 Main St", 1200.50, 3, "Spacious apartment with a view", "John Doe", true); + Apartment apartment2 = new Apartment("456 Elm St", 950.75, 2, "Cozy apartment in a quiet neighborhood", "Jane Smith", false); + Apartment apartment3 = new Apartment("789 Oak St", 1500.00, 4, "Luxury apartment with modern amenities", "Alice Johnson", true); + + newApartments.add(apartment1); + newApartments.add(apartment2); + newApartments.add(apartment3); + System.out.println(newApartments); + + FileWriter writer = new FileWriter("lab-mave-gson/src/main/resources/new_apartments.json"); + + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + gson.toJson(newApartments, writer); + writer.close(); + } +} diff --git a/lab-mave-gson/src/main/java/org/example/ApartmentManager.java b/lab-mave-gson/src/main/java/org/example/ApartmentManager.java new file mode 100644 index 0000000..6ffd221 --- /dev/null +++ b/lab-mave-gson/src/main/java/org/example/ApartmentManager.java @@ -0,0 +1,26 @@ +package org.example; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Scanner; + +public class ApartmentManager { + public static void main(String[] args) throws FileNotFoundException { + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + File file = new File("apartments.json"); + Scanner scanner = new Scanner(file); + StringBuilder json = new StringBuilder(); + while (scanner.hasNextLine()) { + json.append(scanner.nextLine()); + } + Apartment[] apartments = gson.fromJson(json.toString(), Apartment[].class); + List apartmentsList = new ArrayList<>(); + Collections.addAll(apartmentsList, apartments); + } +} diff --git a/lab-mave-gson/src/main/java/org/example/Main.java b/lab-mave-gson/src/main/java/org/example/Main.java new file mode 100644 index 0000000..c39bb1e --- /dev/null +++ b/lab-mave-gson/src/main/java/org/example/Main.java @@ -0,0 +1,17 @@ +package org.example; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.Collection; +import java.util.Collections; +import java.util.Scanner; + +public class Main { + public static void main(String[] args) throws FileNotFoundException { + System.out.println(); + + } +} \ No newline at end of file diff --git a/apartments.json b/lab-mave-gson/src/main/resources/apartments.json similarity index 100% rename from apartments.json rename to lab-mave-gson/src/main/resources/apartments.json diff --git a/lab-mave-gson/src/main/resources/new_apartments.json b/lab-mave-gson/src/main/resources/new_apartments.json new file mode 100644 index 0000000..6154ed5 --- /dev/null +++ b/lab-mave-gson/src/main/resources/new_apartments.json @@ -0,0 +1,29 @@ +[ + { + "id": "40c86091-9ecf-4676-8c69-7126563def42", + "address": "123 Main St", + "price": 1200.5, + "rooms": 3, + "description": "Spacious apartment with a view", + "owner": "John Doe", + "available": true + }, + { + "id": "e3ac6075-a5a7-4402-a087-a877997bbdde", + "address": "456 Elm St", + "price": 950.75, + "rooms": 2, + "description": "Cozy apartment in a quiet neighborhood", + "owner": "Jane Smith", + "available": false + }, + { + "id": "b9e9e1b3-e701-47a1-9252-fedf816ac5fc", + "address": "789 Oak St", + "price": 1500.0, + "rooms": 4, + "description": "Luxury apartment with modern amenities", + "owner": "Alice Johnson", + "available": true + } +] \ No newline at end of file diff --git a/lab-mave-gson/target/classes/apartments.json b/lab-mave-gson/target/classes/apartments.json new file mode 100644 index 0000000..cd80fe2 --- /dev/null +++ b/lab-mave-gson/target/classes/apartments.json @@ -0,0 +1,394 @@ +[ + { + "address": "Calle de Alcalá, 15, Madrid", + "price": 1200.00, + "rooms": 3, + "description": "Apartamento luminoso en pleno centro de Madrid, con balcón y vistas a la calle Alcalá.", + "owner": "Inmobiliaria Sol", + "available": true + }, + { + "address": "Paseo de Gracia, 75, Barcelona", + "price": 2500.50, + "rooms": 4, + "description": "Elegante piso modernista en el corazón del Paseo de Gracia, con techos altos y detalles de época.", + "owner": "Gaudí Homes", + "available": false + }, + { + "address": "Avenida de la Albufera, 200, Valencia", + "price": 850.75, + "rooms": 2, + "description": "Apartamento acogedor cerca de la Ciudad de las Artes y las Ciencias, ideal para parejas o pequeñas familias.", + "owner": "Levante Properties", + "available": true + }, + { + "address": "Calle Betis, 30, Sevilla", + "price": 950.00, + "rooms": 3, + "description": "Piso con encanto en el barrio de Triana, con terraza y vistas al río Guadalquivir.", + "owner": "Andalusian Flats", + "available": true + }, + { + "address": "Gran Vía, 45, Bilbao", + "price": 1600.20, + "rooms": 3, + "description": "Amplio apartamento en la Gran Vía, cerca del Museo Guggenheim y de todos los servicios.", + "owner": "Bilbao Estates", + "available": false + }, + { + "address": "Calle de la Princesa, 80, Madrid", + "price": 1100.90, + "rooms": 2, + "description": "Apartamento reformado en la zona de Argüelles, bien comunicado y con mucha luz natural.", + "owner": "Madrid Rentals", + "available": true + }, + { + "address": "Rambla de Catalunya, 100, Barcelona", + "price": 2100.00, + "rooms": 3, + "description": "Piso señorial en la Rambla de Catalunya, con suelos de parquet y acabados de calidad.", + "owner": "Catalunya Living", + "available": false + }, + { + "address": "Avenida del Cid, 150, Valencia", + "price": 780.50, + "rooms": 2, + "description": "Apartamento funcional cerca del centro de Valencia, ideal para estudiantes o jóvenes profesionales.", + "owner": "Valencia City Homes", + "available": true + }, + { + "address": "Calle Feria, 60, Sevilla", + "price": 880.00, + "rooms": 2, + "description": "Piso típico sevillano en el barrio de la Alameda de Hércules, con patio interior.", + "owner": "Sevilla Properties", + "available": true + }, + { + "address": "Alameda de Mazarredo, 25, Bilbao", + "price": 1450.75, + "rooms": 3, + "description": "Apartamento moderno en la Alameda de Mazarredo, con vistas a la ría y diseño contemporáneo.", + "owner": "Euskadi Real Estate", + "available": false + }, + { + "address": "Calle Fuencarral, 120, Madrid", + "price": 1350.00, + "rooms": 3, + "description": "Apartamento con estilo en el barrio de Malasaña, con techos altos y elementos originales.", + "owner": "Madrid Chic Apartments", + "available": true + }, + { + "address": "Diagonal, 400, Barcelona", + "price": 2800.90, + "rooms": 4, + "description": "Lujoso piso en la Avenida Diagonal, con amplias terrazas y acabados de primera calidad.", + "owner": "Luxury Barcelona Homes", + "available": false + }, + { + "address": "Avenida Blasco Ibáñez, 100, Valencia", + "price": 920.00, + "rooms": 3, + "description": "Apartamento espacioso cerca de las universidades, ideal para estudiantes o familias.", + "owner": "University Rentals Valencia", + "available": true + }, + { + "address": "Calle Sierpes, 40, Sevilla", + "price": 1100.50, + "rooms": 2, + "description": "Piso reformado en plena calle Sierpes, con balcón y vistas a la calle más comercial de Sevilla.", + "owner": "Seville Center Flats", + "available": true + }, + { + "address": "Calle Colón de Larreátegui, 10, Bilbao", + "price": 1550.00, + "rooms": 3, + "description": "Apartamento elegante en el centro de Bilbao, cerca de tiendas y restaurantes.", + "owner": "Bilbao City Living", + "available": false + }, + { + "address": "Calle Goya, 90, Madrid", + "price": 1700.80, + "rooms": 4, + "description": "Amplio piso en el barrio de Salamanca, con mucha luz natural y buenas comunicaciones.", + "owner": "Salamanca Estates", + "available": true + }, + { + "address": "Gran Via de les Corts Catalanes, 600, Barcelona", + "price": 2300.00, + "rooms": 3, + "description": "Moderno apartamento en la Gran Vía, con diseño actual y todas las comodidades.", + "owner": "Barna Modern Living", + "available": false + }, + { + "address": "Avenida de Aragón, 50, Valencia", + "price": 890.60, + "rooms": 2, + "description": "Apartamento funcional cerca del estadio de Mestalla, ideal para aficionados al fútbol.", + "owner": "Mestalla Homes", + "available": true + }, + { + "address": "Plaza Nueva, 5, Sevilla", + "price": 1300.00, + "rooms": 3, + "description": "Piso con vistas a la Plaza Nueva, en pleno centro histórico de Sevilla.", + "owner": "Historical Seville Apartments", + "available": true + }, + { + "address": "Calle Ercilla, 20, Bilbao", + "price": 1250.90, + "rooms": 2, + "description": "Apartamento acogedor en el barrio de Indautxu, cerca de parques y zonas de ocio.", + "owner": "Indautxu Living", + "available": false + }, + { + "address": "Calle Serrano, 50, Madrid", + "price": 2100.00, + "rooms": 4, + "description": "Exclusivo apartamento en la milla de oro de Madrid, con acabados de lujo.", + "owner": "Luxury Madrid Properties", + "available": true + }, + { + "address": "Plaça Catalunya, 12, Barcelona", + "price": 3000.50, + "rooms": 5, + "description": "Impresionante ático en Plaza Catalunya, con terraza y vistas panorámicas de la ciudad.", + "owner": "Barcelona Penthouses", + "available": false + }, + { + "address": "Paseo Marítimo, 10, Valencia", + "price": 1500.00, + "rooms": 3, + "description": "Apartamento con vistas al mar en la playa de la Malvarrosa.", + "owner": "Valencia Beach Homes", + "available": true + }, + { + "address": "Calle San Fernando, 70, Sevilla", + "price": 1050.75, + "rooms": 2, + "description": "Piso luminoso cerca de la Catedral de Sevilla y el Real Alcázar.", + "owner": "Seville Historical Center", + "available": true + }, + { + "address": "Avenida Sabino Arana, 30, Bilbao", + "price": 1380.00, + "rooms": 3, + "description": "Apartamento moderno en la zona de San Mamés, cerca del estadio y la estación de tren.", + "owner": "San Mamés Apartments", + "available": false + }, + { + "address": "Calle Génova, 25, Madrid", + "price": 1550.90, + "rooms": 3, + "description": "Apartamento reformado en el barrio de Chamberí, con mucho encanto.", + "owner": "Chamberí Rentals", + "available": true + }, + { + "address": "Carrer de Balmes, 150, Barcelona", + "price": 2200.00, + "rooms": 4, + "description": "Amplio piso en la calle Balmes, con suelos hidráulicos originales.", + "owner": "Eixample Apartments", + "available": false + }, + { + "address": "Calle de Colón, 30, Valencia", + "price": 1150.50, + "rooms": 3, + "description": "Apartamento céntrico en la calle Colón, cerca de tiendas y transporte público.", + "owner": "Valencia Central Homes", + "available": true + }, + { + "address": "Calle Regina, 15, Sevilla", + "price": 980.00, + "rooms": 2, + "description": "Piso con terraza en el barrio de la Macarena.", + "owner": "Macarena Flats", + "available": true + }, + { + "address": "Calle Licenciado Poza, 40, Bilbao", + "price": 1200.75, + "rooms": 2, + "description": "Apartamento funcional en el barrio de Deusto, cerca de la universidad.", + "owner": "Deusto Living", + "available": false + }, + { + "address": "Plaza de España, 10, Madrid", + "price": 1900.00, + "rooms": 3, + "description": "Apartamento con vistas a la Plaza de España.", + "owner": "Madrid City Center", + "available": true + }, + { + "address": "Avinguda del Paral·lel, 80, Barcelona", + "price": 1800.90, + "rooms": 3, + "description": "Apartamento moderno cerca del Paral·lel y Montjuïc.", + "owner": "Paral·lel Apartments", + "available": false + }, + { + "address": "Avenida de las Cortes Valencianas, 40, Valencia", + "price": 1050.00, + "rooms": 2, + "description": "Apartamento en la zona de negocios de Valencia.", + "owner": "Valencia Business Flats", + "available": true + }, + { + "address": "Calle Castillo, 20, Sevilla", + "price": 820.50, + "rooms": 2, + "description": "Piso tranquilo en el barrio de Los Remedios.", + "owner": "Los Remedios Properties", + "available": true + }, + { + "address": "Calle Autonomía, 60, Bilbao", + "price": 1150.75, + "rooms": 3, + "description": "Apartamento bien comunicado en el barrio de Abando.", + "owner": "Abando Living", + "available": false + }, + { + "address": "Calle Velázquez, 35, Madrid", + "price": 2300.00, + "rooms": 4, + "description": "Elegante piso en el barrio de Salamanca.", + "owner": "Salamanca Luxury Homes", + "available": true + }, + { + "address": "Carrer d'Enric Granados, 90, Barcelona", + "price": 2600.90, + "rooms": 4, + "description": "Apartamento con estilo en la calle Enric Granados.", + "owner": "Enric Granados Apartments", + "available": false + }, + { + "address": "Avenida del Puerto, 120, Valencia", + "price": 1300.00, + "rooms": 3, + "description": "Apartamento cerca del puerto de Valencia.", + "owner": "Valencia Port Homes", + "available": true + }, + { + "address": "Calle San Jacinto, 50, Sevilla", + "price": 900.50, + "rooms": 2, + "description": "Piso con encanto en Triana.", + "owner": "Triana Living", + "available": true + }, + { + "address": "Calle Navarra, 15, Bilbao", + "price": 1080.75, + "rooms": 2, + "description": "Apartamento reformado en el centro de Bilbao.", + "owner": "Bilbao Center Apartments", + "available": false + }, + { + "address": "Calle Almagro, 70, Madrid", + "price": 1850.00, + "rooms": 3, + "description": "Apartamento luminoso en el barrio de Chamberí.", + "owner": "Almagro Properties", + "available": true + }, + { + "address": "Carrer de Muntaner, 200, Barcelona", + "price": 2000.90, + "rooms": 3, + "description": "Apartamento clásico en la calle Muntaner.", + "owner": "Muntaner Apartments", + "available": false + }, + { + "address": "Avenida de Francia, 25, Valencia", + "price": 980.00, + "rooms": 2, + "description": "Apartamento moderno cerca de la Ciudad de las Artes.", + "owner": "City of Arts Homes", + "available": true + }, + { + "address": "Calle Pureza, 30, Sevilla", + "price": 850.50, + "rooms": 2, + "description": "Piso tradicional en el corazón de Triana.", + "owner": "Pureza Flats", + "available": true + }, + { + "address": "Calle Hurtado de Amézaga, 35, Bilbao", + "price": 1100.75, + "rooms": 2, + "description": "Apartamento céntrico cerca de la estación de Abando.", + "owner": "Abando Station Apartments", + "available": false + }, + { + "address": "Calle Orense, 60, Madrid", + "price": 1650.00, + "rooms": 3, + "description": "Apartamento bien ubicado cerca de Nuevos Ministerios.", + "owner": "Nuevos Ministerios Properties", + "available": true + }, + { + "address": "Carrer de la Diputació, 300, Barcelona", + "price": 1900.90, + "rooms": 3, + "description": "Apartamento espacioso en la calle Diputació.", + "owner": "Diputació Apartments", + "available": false + }, + { + "address": "Avenida Pío XII, 70, Valencia", + "price": 1020.00, + "rooms": 2, + "description": "Apartamento tranquilo en la zona de Pío XII.", + "owner": "Pío XII Homes", + "available": true + }, + { + "address": "Calle Resolana, 45, Sevilla", + "price": 790.50, + "rooms": 2, + "description": "Piso acogedor cerca de la Alameda de Hércules.", + "owner": "Resolana Flats", + "available": true + } +] diff --git a/lab-mave-gson/target/classes/org/example/Apartment.class b/lab-mave-gson/target/classes/org/example/Apartment.class new file mode 100644 index 0000000000000000000000000000000000000000..3071fb5c45aa6651fef939e7f43dcab91631a212 GIT binary patch literal 2799 zcma)-|5D>r6vw|8+6GGaAuNl?E+9*x6r>8e>K0IFMY`LCm7iKv3~hugZPG~sy5smB zK7=#sj2+kg!w2x89M8E)+fahzKyq)+oO|x){OsTVy!s2kI!@#0K&OI;iYQ_N1JAW9 zEnU&fv-HmCbG_sW#8wQ`aMuJnlXHi0bfH^8TtyF5fj+5z=^B;v!9hMJ5Vtk6Y*oFF z!Q@=wxQ8A08KsSZSsA#7Zwp@%Og?R-FD&E54wIF&xgnOk` zF7=&n1!j@~UN6QOKTJUv1}Qynt9S=X0wY!JLeE-eNpp`3_ndZ)tC=q0p9GEh&Iio< zl3f0#?53m`LLsmca>M_%cPJ3aT4f4Rf59;I?aS(^Ztr_R8!T8Qt#YW@27mj)hR}7UD6>7O`YKoC)rRJ8G7cG z4;4R^cNd-V1(9T~p|b1M5~<`p6<-iZ=2@kWtmImSMFO&NO~Ci;aEW=x{cVrothcI+ ztQQ4T#%>8C$)bdCtwy26_pD31q;DErnSITcTI4>Y%G|Il*KuvF_EdMzt+LaF1A(Ka z+7Cu~RV+;Uy|p?kW)~)9|FBfH3~vHm;;G2?@V0b~*B7he$Nm_O;`kh2C@69%9}7&k z=8IuoSr>ZR1NW+XQ!BZa{X*cUU_yLFk9dpbOGS643zl_pSsq7i9P9>=3O-fX@qB)N4DEL|+al@xDR0ZD%jQ_VP4O`DI8b^IJm;r^} zG%0DSNsNAs|F}Y($6gu-ERNsv> zt!yKj`W?N$(xw9p7L&pmc`>V!f`75VBVPpFq$Ak78b0xa(;( z(PJ_LeDMlaeOp10p>~kPP>?lz6b3TX4zeWE#xcAJ;>A$lWBTd#oJtdHBO)We(4k;N z9)^N!Aln4#M5m0%EEPaI$Rh&D+!7H^Ax9*KPkdX!h>ZQ*2C^0kvWZWdAdS?FQ4O|( zY!FEH77(r=2H6Tt%|v@@HbX)3;i;Ku2YE~&Pi_I>0%nlMp&(Q3AlsoJPr^Z_+Cg>+ zWbYOb?jHsz;3>Vi@PnyIw5R4U6l5Da{^3^FP-+6h!0VbKfgIlg!tKi-&zce0p&7)* zn&9?*i8)$^=oz7BjGhU4rszq$B4o5j>?8o1@SC#}pUFzwrD#AJKcoxx@g;r5Y4;UQ Hpkef1tSy(kok)5g$a zJ0*=D>1M^?TBf2qp2;mQf_8?svGECYT^E*`^TPAL{zDXi2)Y<<2fy`Y@)9ATBxORI0My}h!R+>W4+Av*bB zN?kTgpVKcVbxwl}cNgvNk1z2d+PeB(Rd7$WxG0tLwo|t4Vg$DcWKFlYnlp)V1S-8h zd^D|Y>aTpz-zs&`4+u0{J*qmFVf`{qyT~2FC#i%dxEsM;hW3mh3S5_Cukor@5^kR|JzpO{Ch3Vv8D@LIy_&A0!j9=+;?%4IXN!fOlFnVe-30vDD zB|XxU>t;HNNjy+66~jY3I&c5g7zU*xGYsn*3gny_hPY3fQXdP0?>NHaP6V?IlZKuj zG4%sJQld&V*C}Ww*+g@=Yge5DcQuP2zHC^-9o?s}D5fzdZSd(Ezgf3|bZdrTpkSL? z$+k;mM<4wOGRsA<+z(a6EgBXfmXl^z)LJGnERrihADQ>EyN)_&W)OHwxi{w3q8(CrTjjEaF&NGQe&C1#Z-PqP0A>ZqZL9Z-a zIOjNu7p9a2NUu-|-Q@Dq0_r}(G;Y(IMo&i1(7jWz z-~H_!8s#?V8vT;SSSl}2I>Bdh_*_;HfUIB&?KHO2-^UFMpp!1RE-auM zYe?WJdZ>zC3if`l{#j&Dia*XTeAWl~X4zSOUVu}`yCv=XGJL0^mJEwKLw`|Ie; literal 0 HcmV?d00001 diff --git a/lab-mave-gson/target/classes/org/example/ApartmentManager.class b/lab-mave-gson/target/classes/org/example/ApartmentManager.class new file mode 100644 index 0000000000000000000000000000000000000000..4ad62ef7baf5dfbc65a7fd75788279234cc27047 GIT binary patch literal 1701 zcmaJ>-Bue_7~KaF2GZd#P++8`qSXcpOl#Fvf+)q(+J=-i6{M)`A(^IwlbNiUi3=XZ zC-B;v;4*7fVx;gMAi1qRk^*ACYO`g04r8U_Vs%U;c_dS2DB%xd7d=3Oqg8@5xi{0ubo ztL2;y9m4|SfferfRv4b___iC`ZdKq?ZlUm&9C;N#s$&e}yuR#PGPDF{{wFA}VM0KU zfZLwAWjod&&I^pny7a@E<%Yq^5dmh9#k8V1BXB-f=nyT11Xj%}a_t%i@9sKPJIswo?kVs zV_B=Sup4LUG2{k5*6@jrPjORVvRCDZ{e|z`S90ortA5ahe*#jVCdekL%{ z(SO7D)N#uJmoSPYzSzOPg@! zdW)JQ%`|$~+T2%rvU!$Kal?NhN>5*B~$wQ$A~20WFAIn|WhX zcfYGR^39<>SszNoe)7#zH7ZD%da!Z za4D4KAGc*aQdz?T0=aWsw(3#!HGD5{F=~v2Ytak0yoOt8`_RASHT<%r<^;Q_-R4O} zR#Y_RIU4&oAi-6r$;fq+JCpx{|LMh3h+iY~S6r1D7{(p0dhCEL+~sZv_wY57Fj&l@ zpK}d(-h#G&ilHVlO_rvG?0$Cg6jR$R82d}7m@T$2M~8P;Q_D@v|BNw1eSFZw!rm{h z|GH|VnpnNxQ=3kqjU!2q?P5_1g>Ke z>zG0j)7Ycs8E25felNy{`*^_J2p*$=ZSt9+rHF^*G0(@hgGXet$Z7BxCEiqI)+fxF zX09Q8gI(&e$9SbgeDW<%_IYBU?==I{8u;LDXvk_XG|n_aI-ohlfbaPGf!}?2_76TT BtQ7zN literal 0 HcmV?d00001 diff --git a/lab-mave-gson/target/classes/org/example/Main.class b/lab-mave-gson/target/classes/org/example/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..3505de25c2dc8aa76f58f09ce2e9c24e1bce5d65 GIT binary patch literal 554 zcmZuuOHTqZ5dO-mf~z11K2h-m9^8{BjEOOFLNvi}@l>F}lHHapi@~3z2TeTq1N>3O z>59+Lq|?rPk9IO|?=PPR?uAgAA#rBro}&G(F*UM4)UwD<;BQHIA@< zMs;%XBg0bl=JU5v+w@hX2lZNqa1jhhTbKhgWX`8OISQ50V~$;h@>eqr<;j)_8)l;W z-yGt%%_Qhai!!8bD~DEr3i31pyJBE=2ozT-bLnJsCJ&y$9wN9%(ZYa(QWPTs*04@l t8XMRo6DvNNiTNY=6PAADcHE#Tq>%e%!LfyHs+VaeNV-FNkM1#4J^-MHbT|M2 literal 0 HcmV?d00001 From 040e3cf2d7dd0161476837ab90171fba43334b92 Mon Sep 17 00:00:00 2001 From: AlvaroGA99 <55707621+AlvaroGA99@users.noreply.github.com> Date: Wed, 9 Apr 2025 09:18:29 +0200 Subject: [PATCH 2/3] Lab Commit --- .../src/main/java/org/example/Apartment.java | 4 +++ .../java/org/example/ApartmentManager.java | 4 ++- .../src/main/resources/new_apartments.json | 6 ++-- .../target/classes/new_apartments.json | 29 ++++++++++++++++++ .../classes/org/example/Apartment.class | Bin 2799 -> 2875 bytes .../org/example/ApartmentManager.class | Bin 1701 -> 1877 bytes 6 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 lab-mave-gson/target/classes/new_apartments.json diff --git a/lab-mave-gson/src/main/java/org/example/Apartment.java b/lab-mave-gson/src/main/java/org/example/Apartment.java index 1db7305..5611b61 100644 --- a/lab-mave-gson/src/main/java/org/example/Apartment.java +++ b/lab-mave-gson/src/main/java/org/example/Apartment.java @@ -34,6 +34,10 @@ public Apartment( String address, double price, int rooms, String description, S this.available = available; } + public Apartment() { + this.id = UUID.randomUUID(); + } + public UUID getId() { return id; } diff --git a/lab-mave-gson/src/main/java/org/example/ApartmentManager.java b/lab-mave-gson/src/main/java/org/example/ApartmentManager.java index 6ffd221..933baaa 100644 --- a/lab-mave-gson/src/main/java/org/example/ApartmentManager.java +++ b/lab-mave-gson/src/main/java/org/example/ApartmentManager.java @@ -13,7 +13,7 @@ public class ApartmentManager { public static void main(String[] args) throws FileNotFoundException { Gson gson = new GsonBuilder().setPrettyPrinting().create(); - File file = new File("apartments.json"); + File file = new File("lab-mave-gson/src/main/resources/apartments.json"); Scanner scanner = new Scanner(file); StringBuilder json = new StringBuilder(); while (scanner.hasNextLine()) { @@ -22,5 +22,7 @@ public static void main(String[] args) throws FileNotFoundException { Apartment[] apartments = gson.fromJson(json.toString(), Apartment[].class); List apartmentsList = new ArrayList<>(); Collections.addAll(apartmentsList, apartments); + + System.out.println(apartmentsList); } } diff --git a/lab-mave-gson/src/main/resources/new_apartments.json b/lab-mave-gson/src/main/resources/new_apartments.json index 6154ed5..6ad0183 100644 --- a/lab-mave-gson/src/main/resources/new_apartments.json +++ b/lab-mave-gson/src/main/resources/new_apartments.json @@ -1,6 +1,6 @@ [ { - "id": "40c86091-9ecf-4676-8c69-7126563def42", + "id": "e3a64b3d-e76b-4ab2-aa71-eff3faa0dce5", "address": "123 Main St", "price": 1200.5, "rooms": 3, @@ -9,7 +9,7 @@ "available": true }, { - "id": "e3ac6075-a5a7-4402-a087-a877997bbdde", + "id": "1492f473-c4b4-447c-a1b0-4aea2f1c3d30", "address": "456 Elm St", "price": 950.75, "rooms": 2, @@ -18,7 +18,7 @@ "available": false }, { - "id": "b9e9e1b3-e701-47a1-9252-fedf816ac5fc", + "id": "eb78c49d-421f-49fa-89ec-922714ed3566", "address": "789 Oak St", "price": 1500.0, "rooms": 4, diff --git a/lab-mave-gson/target/classes/new_apartments.json b/lab-mave-gson/target/classes/new_apartments.json new file mode 100644 index 0000000..6ad0183 --- /dev/null +++ b/lab-mave-gson/target/classes/new_apartments.json @@ -0,0 +1,29 @@ +[ + { + "id": "e3a64b3d-e76b-4ab2-aa71-eff3faa0dce5", + "address": "123 Main St", + "price": 1200.5, + "rooms": 3, + "description": "Spacious apartment with a view", + "owner": "John Doe", + "available": true + }, + { + "id": "1492f473-c4b4-447c-a1b0-4aea2f1c3d30", + "address": "456 Elm St", + "price": 950.75, + "rooms": 2, + "description": "Cozy apartment in a quiet neighborhood", + "owner": "Jane Smith", + "available": false + }, + { + "id": "eb78c49d-421f-49fa-89ec-922714ed3566", + "address": "789 Oak St", + "price": 1500.0, + "rooms": 4, + "description": "Luxury apartment with modern amenities", + "owner": "Alice Johnson", + "available": true + } +] \ No newline at end of file diff --git a/lab-mave-gson/target/classes/org/example/Apartment.class b/lab-mave-gson/target/classes/org/example/Apartment.class index 3071fb5c45aa6651fef939e7f43dcab91631a212..00b408f81726732d77d86c9dfba13fa1b2a4ab4e 100644 GIT binary patch delta 257 zcmXBKJ!%4B5XSLm*35nx4Jp(*g>l&;FNp5Sf-71Wl0qSY2o^~ZasVMWd7HG>Hc24{ za)UiXI@6`_1cKw(Jk0#~?`l8w&n?rX{o~?};eyZski(G+IFC1=_#56Dl`r`nbY-h3 z$u@C@Yn0JKax70hQuF}3a$}0^!mrtXH{u&Gj9q#SYdk}3^>;7gL_8HAQ>L~T%f$xT z4t+x-@jj2mZq*90du=a*h$rGx^~b=_gZhW~llV;iSA4F16-N9l{-XXCPU+RI!|VV( CqcxNO delta 191 zcmdlj_Fi=9t)e0zX4HoYOiraz3F9F4!fa1i>k}pgW;JtJ=2=km{>P)xd&x%47s&G#rO96|S6#=9Ctj>+ zmJ|bx^Gxn~G<~MJOA2%P&~f)-FYqIc*SO0RHWo?A?~tl6Xp_1uoh7%D+Zg$Ux@?YD zq$XqNDu|oCxOVa8YYbvZMSi3Z04?*%D4SwCZS|VC@<+~+#ACueN^ag zvI;FfYm{W(#X6t)BK)V~U+1fEhnQi5Z$chnlJ9H^Yl%L#crCF@bYoMNe2(lV$y&;` jD6S}ZQvYPp(Clc&H9eZV&NB$Tk|D{Z*p*Y2cZwg6F~49- delta 328 zcmXAj%}T>S6otP@lMDt^wIUcSf^LK$hzM?_YBgG||JI*s3*y3!3c7Hm&me)mfe#>E z2rhg8_agW(>PfShJ9E#u-0i+VQ8Jq8^{*GptjSS7etBHkCQ5q&i#5nqYx#c9a$~ zFMm%tbxQ0rt5qBN^MFI`)DWL-lPgD3j-^C6e*!(riDk}GvP70~7#ZeNzAK`sbFQ~T F>mRizC~E)! From a5fc2bb07d96ef5c03a07228f488e7a76f6175ad Mon Sep 17 00:00:00 2001 From: AlvaroGA99 <55707621+AlvaroGA99@users.noreply.github.com> Date: Wed, 9 Apr 2025 09:19:17 +0200 Subject: [PATCH 3/3] Lab Commit --- .idea/vcs.xml | 6 ++++++ .idea/workspace.xml | 52 ++++++++++++++++++++++++++------------------- 2 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 1821331..1bd45df 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,13 +4,7 @@