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
+
+
+ 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 @@
-
-
-
-
-
-
-
+
@@ -26,32 +20,32 @@
-
+ {
+ "associatedIndex": 7
+}
- {
+ "keyToString": {
+ "Application.ApartmentCreator.executor": "Run",
+ "Application.Main.executor": "Run",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "git-widget-placeholder": "main",
+ "ignore.virus.scanning.warn.message": "true",
+ "kotlin-language-version-configured": "true",
+ "last_opened_file_path": "D:/Dev/Java_Projects/homework-java-ironbattle"
}
-}]]>
+}
-
+
@@ -65,8 +59,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+