Skip to content

ODS_ANGELA RUIZ_0804 #12

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 1 commit 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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.idea
maven2.iml
maven2/target
25 changes: 25 additions & 0 deletions maven2/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>maven2</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>
90 changes: 90 additions & 0 deletions maven2/src/main/java/Apartment.java
Original file line number Diff line number Diff line change
@@ -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 +
'}';
}
}
30 changes: 30 additions & 0 deletions maven2/src/main/java/ApartmentCreator.java
Original file line number Diff line number Diff line change
@@ -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<Apartment> 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();
}
}
28 changes: 28 additions & 0 deletions maven2/src/main/java/ApartmentManager.java
Original file line number Diff line number Diff line change
@@ -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<Apartment> 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();
}
}
38 changes: 38 additions & 0 deletions new_apartments.json
Original file line number Diff line number Diff line change
@@ -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
}
]