From 1088314ed4f2e092a7fd845c3912d867ef662ab8 Mon Sep 17 00:00:00 2001 From: "bobbym.moneyjr" Date: Sun, 1 Mar 2026 22:13:05 -0500 Subject: [PATCH 1/3] First-Commit-Maintenance-and-UML-Done --- src/main/java/UMLDiagram.puml | 53 +++++++++ src/main/java/org/codedifferently/Main.java | 13 +-- .../codedifferently/MaintenanceOffice.java | 7 ++ .../codedifferently/MaintenanceRequest.java | 101 ++++++++++++++++++ src/test/java/org/codedifferently/Main.java | 4 + .../codedifferently/MaintenanceOffice.java | 4 + .../codedifferently/MaintenanceRequest.java | 4 + 7 files changed, 175 insertions(+), 11 deletions(-) create mode 100644 src/main/java/UMLDiagram.puml create mode 100644 src/main/java/org/codedifferently/MaintenanceOffice.java create mode 100644 src/main/java/org/codedifferently/MaintenanceRequest.java create mode 100644 src/test/java/org/codedifferently/Main.java create mode 100644 src/test/java/org/codedifferently/MaintenanceOffice.java create mode 100644 src/test/java/org/codedifferently/MaintenanceRequest.java diff --git a/src/main/java/UMLDiagram.puml b/src/main/java/UMLDiagram.puml new file mode 100644 index 0000000..301bdb0 --- /dev/null +++ b/src/main/java/UMLDiagram.puml @@ -0,0 +1,53 @@ +@startuml + +class Main { + + main(args: String[]): void +} + +class MaintenanceRequest { + - tenantName: String + - apartmentNumber: int + - issueType: String + - severity: int + - status: String + - assignedTech: String + + + MaintenanceRequest() + + MaintenanceRequest(tenantName: String, apartmentNumber: int, issueType: String, severity: int) + + + getTenantName(): String + + setTenantName(name: String): void + + + getApartmentNumber(): int + + setApartmentNumber(number: int): void + + + getIssueType(): String + + setIssueType(issue: String): void + + + getSeverity(): int + + setSeverity(severity: int): void + + + getStatus(): String + + setStatus(status: String): void + + + getAssignedTech(): String + + setAssignedTech(name: String): void + + + toString(): String +} + +class MaintenanceOffice { + - requests: List + + + MaintenanceOffice() + + addRequest(request: MaintenanceRequest): void + + assignTechnician(request: MaintenanceRequest): void + + updateStatus(request: MaintenanceRequest, status: String): void + + closeRequest(request: MaintenanceRequest): void + + generateDailyReport(): void +} + +Main --> MaintenanceOffice +MaintenanceOffice --> MaintenanceRequest + +@enduml \ No newline at end of file diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 435139b..e00ef5d 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,17 +1,8 @@ package org.codedifferently; - -//TIP To Run code, press or -// click the icon in the gutter. public class Main { public static void main(String[] args) { - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - System.out.printf("Hello and welcome!"); - for (int i = 1; i <= 5; i++) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - System.out.println("i = " + i); + + } } -} \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java new file mode 100644 index 0000000..2acf4d9 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -0,0 +1,7 @@ +package org.codedifferently; + +public class MaintenanceOffice { + + + +} diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java new file mode 100644 index 0000000..f59a583 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -0,0 +1,101 @@ +package org.codedifferently; + +public class MaintenanceRequest { + + private String tenantName; + private int apartmentNumber; + private String issueType; + private int severity; + private String status; + private String assignedTech; + + // Default constructor + public MaintenanceRequest() { + this.status = "NEW"; + } + + // Parameterized constructor + public MaintenanceRequest(String tenantName, + int apartmentNumber, + String issueType, + int severity) { + + this.tenantName = tenantName; + this.apartmentNumber = apartmentNumber; + this.issueType = issueType; + this.status = "NEW"; + + setSeverity(severity); // use validation + } + + // Getters + public String getTenantName() { + return tenantName; + } + + public int getApartmentNumber() { + return apartmentNumber; + } + + public String getIssueType() { + return issueType; + } + + public int getSeverity() { + return severity; + } + + public String getStatus() { + return status; + } + + public String getAssignedTech() { + return assignedTech; + } + + // Setters + public void setTenantName(String tenantName) { + this.tenantName = tenantName; + } + + public void setApartmentNumber(int apartmentNumber) { + this.apartmentNumber = apartmentNumber; + } + + public void setIssueType(String issueType) { + this.issueType = issueType; + } + + public void setSeverity(int severity) { + if (severity >= 1 && severity <= 5) { + this.severity = severity; + } else { + throw new IllegalArgumentException("Severity must be between 1 and 5"); + } + } + + public void setStatus(String status) { + if (status.equals("NEW") || + status.equals("IN_PROGRESS") || + status.equals("DONE")) { + + this.status = status; + } else { + throw new IllegalArgumentException("Invalid status"); + } + } + + public void setAssignedTech(String assignedTech) { + this.assignedTech = assignedTech; + } + + @Override + public String toString() { + return "Tenant: " + tenantName + + ", Apartment: " + apartmentNumber + + ", Issue: " + issueType + + ", Severity: " + severity + + ", Status: " + status + + ", Tech: " + assignedTech; + } +} \ No newline at end of file diff --git a/src/test/java/org/codedifferently/Main.java b/src/test/java/org/codedifferently/Main.java new file mode 100644 index 0000000..244d749 --- /dev/null +++ b/src/test/java/org/codedifferently/Main.java @@ -0,0 +1,4 @@ +package java.org.codedifferently; + +public class Main { +} diff --git a/src/test/java/org/codedifferently/MaintenanceOffice.java b/src/test/java/org/codedifferently/MaintenanceOffice.java new file mode 100644 index 0000000..83619dc --- /dev/null +++ b/src/test/java/org/codedifferently/MaintenanceOffice.java @@ -0,0 +1,4 @@ +package java.org.codedifferently; + +public class MaintenanceOffice { +} diff --git a/src/test/java/org/codedifferently/MaintenanceRequest.java b/src/test/java/org/codedifferently/MaintenanceRequest.java new file mode 100644 index 0000000..9ce6722 --- /dev/null +++ b/src/test/java/org/codedifferently/MaintenanceRequest.java @@ -0,0 +1,4 @@ +package java.org.codedifferently; + +public class MaintenanceRequest { +} From 5abe204b4461a3b9296dfcdfc53857709b91123e Mon Sep 17 00:00:00 2001 From: "bobbym.moneyjr" Date: Sun, 1 Mar 2026 23:00:58 -0500 Subject: [PATCH 2/3] Maintenance-Done --- .../codedifferently/MaintenanceOffice.java | 50 ++++++++++++++++++- .../codedifferently/MaintenanceRequest.java | 4 +- 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index 2acf4d9..6abd7fa 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -1,7 +1,55 @@ package org.codedifferently; +import java.util.ArrayList; +import java.util.List; + public class MaintenanceOffice { + private List requests; + + public MaintenanceOffice() { + this.requests = new ArrayList<>(); + } + + public void addRequest(MaintenanceRequest request){ + this.requests.add(request); + } + + public void assignTechnician(MaintenanceRequest request) { + + int severity = request.getSeverity(); + + if (severity == 5) { + request.setAssignedTech("Senior Tech"); + } else if (severity >= 3) { + request.setAssignedTech("Standard Tech"); + } else { + request.setAssignedTech("Junior Tech"); + } + + request.setStatus("IN_PROGRESS"); + } + + public void updateStatus(MaintenanceRequest request, String status) { + request.setStatus(status); + } + + public void generateDailyReport() { + + int total = requests.size(); + int open = 0; + int closed = 0; + for (MaintenanceRequest request : requests) { + if (request.getStatus().equals("DONE")) { + closed++; + } else { + open++; + } + } -} + System.out.println("Total Requests: " + total); + System.out.println("Open: " + open); + System.out.println("Closed: " + closed); + } +} \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java index f59a583..783d226 100644 --- a/src/main/java/org/codedifferently/MaintenanceRequest.java +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -9,12 +9,12 @@ public class MaintenanceRequest { private String status; private String assignedTech; - // Default constructor + // Default public MaintenanceRequest() { this.status = "NEW"; } - // Parameterized constructor + // Parameterized public MaintenanceRequest(String tenantName, int apartmentNumber, String issueType, From d8e348fa9597cfcd9bf9034bdf824d1894ff0f7f Mon Sep 17 00:00:00 2001 From: "bobbym.moneyjr" Date: Mon, 2 Mar 2026 08:51:14 -0500 Subject: [PATCH 3/3] Apartment-Maintenance-Complete-Pre-Tests --- src/main/java/org/codedifferently/Main.java | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index e00ef5d..9ed4a85 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,8 +1,50 @@ package org.codedifferently; + +import java.util.Scanner; + public class Main { + public static void main(String[] args) { + MaintenanceOffice office = new MaintenanceOffice(); + Scanner scanner = new Scanner(System.in); + + while (true) { + + System.out.println("Enter tenant name (or type 'done' to exit): "); + String tenantName = scanner.nextLine(); + + if (tenantName.equalsIgnoreCase("done")) { + break; + } + + System.out.println("Enter apartment number: "); + int apartmentNumber = Integer.parseInt(scanner.nextLine()); + System.out.println("Enter issue type: "); + String issueType = scanner.nextLine(); + System.out.println("Enter severity (1-5): "); + int severity = Integer.parseInt(scanner.nextLine()); + + MaintenanceRequest request = + new MaintenanceRequest(tenantName, apartmentNumber, issueType, severity); + + office.addRequest(request); + + if (issueType.equalsIgnoreCase("Electrical") && severity >= 4) { + System.out.println("⚠ Electrical high severity — handle urgently!"); + } + + if (severity == 5) { + office.assignTechnician(request); + System.out.println("Dispatching immediately."); + } + + System.out.println("Request logged successfully."); } + + office.generateDailyReport(); + scanner.close(); } +} \ No newline at end of file