Skip to content

Lab Commit PR #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 93 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions lab-mave-gson/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>lab-mave-gson</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10</version>
</dependency>
</dependencies>


</project>
109 changes: 109 additions & 0 deletions lab-mave-gson/src/main/java/org/example/Apartment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
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 Apartment() {
this.id = UUID.randomUUID();
}

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 +
'}';
}
}
30 changes: 30 additions & 0 deletions lab-mave-gson/src/main/java/org/example/ApartmentCreator.java
Original file line number Diff line number Diff line change
@@ -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<Apartment> 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();
}
}
28 changes: 28 additions & 0 deletions lab-mave-gson/src/main/java/org/example/ApartmentManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
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("lab-mave-gson/src/main/resources/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<Apartment> apartmentsList = new ArrayList<>();
Collections.addAll(apartmentsList, apartments);

System.out.println(apartmentsList);
}
}
17 changes: 17 additions & 0 deletions lab-mave-gson/src/main/java/org/example/Main.java
Original file line number Diff line number Diff line change
@@ -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();

}
}
File renamed without changes.
Loading