From 60964c3faac9b3160b5fc4d1bd07bae16909afc3 Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Thu, 3 Oct 2024 16:21:05 +0400 Subject: [PATCH 1/6] LinkedList and Merge Sort --- .../module02/tasks/MergeSortedArrayApp.java | 31 +++ .../module02/tasks/linkedListOwn/MainApp.java | 41 ++++ .../tasks/linkedListOwn/model/Node.java | 11 ++ .../service/LinkedListInterface.java | 26 +++ .../service/impl/LinkedListImpl.java | 179 ++++++++++++++++++ 5 files changed, 288 insertions(+) create mode 100644 src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java create mode 100644 src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java create mode 100644 src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java create mode 100644 src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java create mode 100644 src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java diff --git a/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java b/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java new file mode 100644 index 0000000..1d02dc9 --- /dev/null +++ b/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java @@ -0,0 +1,31 @@ +package az.edu.turing.module02.tasks; + +import java.util.Arrays; + +public class MergeSortedArrayApp { + public static void main(String[] args) { + int[] array1 = {1, 4, 5, 8, 15, 20}; + int[] array2 = {2, 3, 6, 7, 13}; + int[] result = mergeSortedArrays(array1, array2); + System.out.println("Result Array: " + Arrays.toString(result)); + } + + public static int[] mergeSortedArrays(int[] a, int[] b) { + int[] merged = new int[a.length + b.length]; + int i = 0, j = 0, k = 0; + while (i < a.length && j < b.length) { + if (a[i] <= b[j]) { + merged[k++] = a[i++]; + } else { + merged[k++] = b[j++]; + } + } + while (i < a.length) { + merged[k++] = a[i++]; + } + while (j < b.length) { + merged[k++] = b[j++]; + } + return merged; + } +} diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java new file mode 100644 index 0000000..979f8c7 --- /dev/null +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java @@ -0,0 +1,41 @@ +package az.edu.turing.module02.tasks.linkedListOwn; + +import java.util.Arrays; + +import az.edu.turing.module02.tasks.linkedListOwn.service.impl.LinkedListImpl; + +public class MainApp { + public static void main(String[] args) { + LinkedListImpl list = new LinkedListImpl<>(); + + list.addHead(1); + list.addTail(2); + list.addTail(3); + list.addTail(4); + + System.out.println("Linked List after adding elements: " + list); + + System.out.println("Array: " + Arrays.toString(list.toArray())); + + list.removeHead(); + System.out.println("After removing head: " + list); + + list.removeTail(); + System.out.println("After removing tail: " + list); + + list.insert(1, 5); + System.out.println("After inserting at index 1: " + list); + + list.update(1, 10); + System.out.println("After updating index 1: " + list); + + list.delete(1); + System.out.println("After deleting index 1: " + list); + + list.delete(Integer.valueOf(2)); + System.out.println("After deleting value 2: " + list); + + list.deleteAll(); + System.out.println("After deleting all elements: " + list); + } +} diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java new file mode 100644 index 0000000..996b28d --- /dev/null +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java @@ -0,0 +1,11 @@ +package az.edu.turing.module02.tasks.linkedListOwn.model; + +public class Node { + public T data; + public Node next; + + public Node(T data) { + this.data = data; + this.next = null; + } +} diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java new file mode 100644 index 0000000..bb9adc4 --- /dev/null +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java @@ -0,0 +1,26 @@ +package az.edu.turing.module02.tasks.linkedListOwn.service; + +public interface LinkedListInterface { + void addHead(T item); + + void addTail(T item); + + T removeHead(); + + T removeTail(); + + void insert(int index, T item); + + void update(int index, T item); + + void delete(int index); + + void delete(T item); + + void deleteAll(); + + T[] toArray(); + + String toString(); +} + diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java new file mode 100644 index 0000000..2c5d4a5 --- /dev/null +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java @@ -0,0 +1,179 @@ +package az.edu.turing.module02.tasks.linkedListOwn.service.impl; + +import az.edu.turing.module02.tasks.linkedListOwn.model.Node; +import az.edu.turing.module02.tasks.linkedListOwn.service.LinkedListInterface; + +public class LinkedListImpl implements LinkedListInterface { + public Node head; + public Node tail; + private int size; + + public LinkedListImpl() { + this.head = null; + this.tail = null; + this.size = 0; + } + + @Override + public void addHead(T item) { + Node newNode = new Node<>(item); + if (head == null) { + head = newNode; + tail = newNode; + } else { + newNode.next = head; + head = newNode; + } + size++; + } + + @Override + public void addTail(T item) { + Node newNode = new Node<>(item); + if (tail == null) { + head = newNode; + tail = newNode; + } else { + tail.next = newNode; + tail = newNode; + } + size++; + } + + @Override + public T removeHead() { + if (head == null) { + return null; + } + T data = head.data; + head = head.next; + size--; + if (head == null) { + tail = null; + } + return data; + } + + @Override + public T removeTail() { + if (tail == null) { + return null; + } + if (head == tail) { + T data = tail.data; + head = null; + tail = null; + size--; + return data; + } + Node current = head; + while (current.next != tail) { + current = current.next; + } + T data = tail.data; + tail = current; + tail.next = null; + size--; + return data; + } + + @Override + public void insert(int index, T item) { + if (index < 0 || index > size) { + throw new IndexOutOfBoundsException("Invalid index"); + } + if (index == 0) { + addHead(item); + } else if (index == size) { + addTail(item); + } else { + Node newNode = new Node<>(item); + Node current = head; + for (int i = 0; i < index - 1; i++) { + current = current.next; + } + newNode.next = current.next; + current.next = newNode; + size++; + } + } + + @Override + public void update(int index, T item) { + if (index < 0 || index >= size) { + throw new IndexOutOfBoundsException("Invalid index"); + } + Node current = head; + for (int i = 0; i < index; i++) { + current = current.next; + } + current.data = item; + } + + @Override + public void delete(int index) { + if (index < 0 || index >= size) { + throw new IndexOutOfBoundsException("Invalid index"); + } + if (index == 0) { + removeHead(); + } else if (index == size - 1) { + removeTail(); + } else { + Node current = head; + for (int i = 0; i < index - 1; i++) { + current = current.next; + } + current.next = current.next.next; + size--; + } + } + + @Override + public void delete(T item) { + if (head == null) { + return; + } + if (head.data.equals(item)) { + removeHead(); + return; + } + Node current = head; + while (current.next != null && !current.next.data.equals(item)) { + current = current.next; + } + if (current.next != null) { + current.next = current.next.next; + size--; + } + } + + @Override + public void deleteAll() { + head = null; + tail = null; + size = 0; + } + + @Override + public T[] toArray() { + T[] array = (T[]) new Object[size]; + Node current = head; + for (int i = 0; i < size; i++) { + array[i] = current.data; + current = current.next; + } + return array; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + Node current = head; + while (current != null) { + sb.append(current.data).append(" -> "); + current = current.next; + } + return sb.append("null").toString(); + } +} From 9193f071037bf549bf721fcbf8e739a786fe0aa0 Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Fri, 4 Oct 2024 17:36:25 +0400 Subject: [PATCH 2/6] LinkedList modified --- .../linkedListOwn/service/LinkedListInterface.java | 4 ++-- .../linkedListOwn/service/impl/LinkedListImpl.java | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java index bb9adc4..10e7249 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java @@ -15,11 +15,11 @@ public interface LinkedListInterface { void delete(int index); - void delete(T item); + boolean delete(T item); void deleteAll(); - T[] toArray(); + Object[] toArray(); String toString(); } diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java index 2c5d4a5..0427109 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java @@ -130,13 +130,13 @@ public void delete(int index) { } @Override - public void delete(T item) { - if (head == null) { - return; + public boolean delete(T item) { + if (item == null || head == null) { + return false; } if (head.data.equals(item)) { removeHead(); - return; + return true; } Node current = head; while (current.next != null && !current.next.data.equals(item)) { @@ -145,7 +145,9 @@ public void delete(T item) { if (current.next != null) { current.next = current.next.next; size--; + return true; } + return false; } @Override @@ -156,8 +158,8 @@ public void deleteAll() { } @Override - public T[] toArray() { - T[] array = (T[]) new Object[size]; + public Object[] toArray() { + Object[] array = new Object[size]; Node current = head; for (int i = 0; i < size; i++) { array[i] = current.data; From 87865a915e2284fd346e528b7e43318ba7d67751 Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Tue, 8 Oct 2024 14:20:17 +0400 Subject: [PATCH 3/6] Linked List modified 2 --- .../az/edu/turing/module02/tasks/MergeSortedArrayApp.java | 1 + .../az/edu/turing/module02/tasks/linkedListOwn/MainApp.java | 1 + .../edu/turing/module02/tasks/linkedListOwn/model/Node.java | 1 + .../tasks/linkedListOwn/service/LinkedListInterface.java | 3 ++- .../tasks/linkedListOwn/service/impl/LinkedListImpl.java | 4 +++- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java b/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java index 1d02dc9..2832b57 100644 --- a/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java +++ b/src/main/java/az/edu/turing/module02/tasks/MergeSortedArrayApp.java @@ -3,6 +3,7 @@ import java.util.Arrays; public class MergeSortedArrayApp { + public static void main(String[] args) { int[] array1 = {1, 4, 5, 8, 15, 20}; int[] array2 = {2, 3, 6, 7, 13}; diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java index 979f8c7..f6452ae 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/MainApp.java @@ -5,6 +5,7 @@ import az.edu.turing.module02.tasks.linkedListOwn.service.impl.LinkedListImpl; public class MainApp { + public static void main(String[] args) { LinkedListImpl list = new LinkedListImpl<>(); diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java index 996b28d..7251e06 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/model/Node.java @@ -1,6 +1,7 @@ package az.edu.turing.module02.tasks.linkedListOwn.model; public class Node { + public T data; public Node next; diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java index 10e7249..3c65497 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/LinkedListInterface.java @@ -1,7 +1,8 @@ package az.edu.turing.module02.tasks.linkedListOwn.service; public interface LinkedListInterface { - void addHead(T item); + + T addHead(T item); void addTail(T item); diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java index 0427109..bb4e6ce 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java @@ -4,6 +4,7 @@ import az.edu.turing.module02.tasks.linkedListOwn.service.LinkedListInterface; public class LinkedListImpl implements LinkedListInterface { + public Node head; public Node tail; private int size; @@ -15,7 +16,7 @@ public LinkedListImpl() { } @Override - public void addHead(T item) { + public T addHead(T item) { Node newNode = new Node<>(item); if (head == null) { head = newNode; @@ -25,6 +26,7 @@ public void addHead(T item) { head = newNode; } size++; + return item; } @Override From c86713a37c7ca69d7aa81f9237873e43321084be Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Tue, 8 Oct 2024 14:22:55 +0400 Subject: [PATCH 4/6] Constructor deleted --- .../tasks/linkedListOwn/service/impl/LinkedListImpl.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java index bb4e6ce..141b545 100644 --- a/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java +++ b/src/main/java/az/edu/turing/module02/tasks/linkedListOwn/service/impl/LinkedListImpl.java @@ -9,12 +9,6 @@ public class LinkedListImpl implements LinkedListInterface { public Node tail; private int size; - public LinkedListImpl() { - this.head = null; - this.tail = null; - this.size = 0; - } - @Override public T addHead(T item) { Node newNode = new Node<>(item); From 5da5a51c0455c3662d08e23c834121fe082460e7 Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Sun, 13 Oct 2024 18:56:36 +0400 Subject: [PATCH 5/6] Patient Management task I build Patient Management system with controller, service, dto, dao structure --- .../patientProject/PatientManagementApp.java | 28 +++++++++ .../controller/PatientController.java | 29 ++++++++++ .../patientProject/dao/PatientDAO.java | 14 +++++ .../dao/impl/PatientDAOImpl.java | 32 +++++++++++ .../patientProject/model/dto/PatientDTO.java | 57 +++++++++++++++++++ .../service/PatientService.java | 9 +++ .../service/impl/PatientServiceImpl.java | 25 ++++++++ 7 files changed, 194 insertions(+) create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java create mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java b/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java new file mode 100644 index 0000000..346e266 --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java @@ -0,0 +1,28 @@ +package az.edu.turing.miniProjects.patientProject; + +import az.edu.turing.miniProjects.patientProject.controller.PatientController; +import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; +import az.edu.turing.miniProjects.patientProject.dao.impl.PatientDAOImpl; +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; +import az.edu.turing.miniProjects.patientProject.service.PatientService; +import az.edu.turing.miniProjects.patientProject.service.impl.PatientServiceImpl; + +public class PatientManagementApp { + public static void main(String[] args) { + + PatientDAO patientDAO = new PatientDAOImpl(); + PatientService patientService = new PatientServiceImpl(patientDAO); + + PatientController patientController = new PatientController(patientService); + + PatientDTO patient1 = new PatientDTO(1, "Saleh", 24, "Depression "); + PatientDTO patient2 = new PatientDTO(2, "Leyla", 20, "Asthma "); + + patientController.addNewPatient(patient1); + patientController.addNewPatient(patient2); + + patientController.getPatientInfo(3); + patientController.getPatientInfo(2); + patientController.getPatientInfo(1); + } +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java b/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java new file mode 100644 index 0000000..d40062b --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java @@ -0,0 +1,29 @@ +package az.edu.turing.miniProjects.patientProject.controller; + +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; +import az.edu.turing.miniProjects.patientProject.service.PatientService; + +public class PatientController { + + private PatientService patientService; + + public PatientController(PatientService patientService) { + this.patientService = patientService; + } + + public void addNewPatient(PatientDTO patient) { + patientService.registerPatient(patient); + System.out.println("Patient registered successfully!"); + } + + public void getPatientInfo(int id) { + PatientDTO patient = patientService.getPatientById(id); + if (patient != null) { + System.out.println("Patient details : " + patient.toString()); + } else { + System.out.println("No patient found with given ID."); + } + + } + +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java new file mode 100644 index 0000000..b91e58d --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java @@ -0,0 +1,14 @@ +package az.edu.turing.miniProjects.patientProject.dao; + +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; + +import java.util.List; +import java.util.ArrayList; + +public interface PatientDAO { + PatientDTO getPatientById(int id); + + List getAllPatients(); + + void savePatient(PatientDTO patient); +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java new file mode 100644 index 0000000..3bcb37e --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java @@ -0,0 +1,32 @@ +package az.edu.turing.miniProjects.patientProject.dao.impl; + +import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; + +import java.util.ArrayList; +import java.util.List; + +public class PatientDAOImpl implements PatientDAO { + + private List patients = new ArrayList(); + + @Override + public PatientDTO getPatientById(int id) { + for (PatientDTO patient : patients) { + if (patient.getId() == id) { + return patient; + } + } + return null; + } + + @Override + public List getAllPatients() { + return patients; + } + + @Override + public void savePatient(PatientDTO patient) { + patients.add(patient); + } +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java b/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java new file mode 100644 index 0000000..d6c2f45 --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java @@ -0,0 +1,57 @@ +package az.edu.turing.miniProjects.patientProject.model.dto; + +public class PatientDTO { + private int id; + private String name; + private int age; + private String diagnosis; + + public PatientDTO(int id, String name, int age, String diagnosis) { + this.id = id; + this.name = name; + this.age = age; + this.diagnosis = diagnosis; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getDiagnosis() { + return diagnosis; + } + + public void setDiagnosis(String diagnosis) { + this.diagnosis = diagnosis; + } + + @Override + public String toString() { + return "PatientDTO{" + + "id=" + id + + ", name='" + name + '\'' + + ", age=" + age + + ", diagnosis='" + diagnosis + '\'' + + '}'; + } +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java b/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java new file mode 100644 index 0000000..80fa986 --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java @@ -0,0 +1,9 @@ +package az.edu.turing.miniProjects.patientProject.service; + +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; + +public interface PatientService { + PatientDTO getPatientById(int id); + + void registerPatient(PatientDTO patient); +} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java b/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java new file mode 100644 index 0000000..c21030c --- /dev/null +++ b/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java @@ -0,0 +1,25 @@ +package az.edu.turing.miniProjects.patientProject.service.impl; + +import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; +import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; +import az.edu.turing.miniProjects.patientProject.service.PatientService; + +public class PatientServiceImpl implements PatientService { + + private PatientDAO patientDAO; + + public PatientServiceImpl(PatientDAO patientDAO) { + this.patientDAO = patientDAO; + } + + @Override + public PatientDTO getPatientById(int id) { + return patientDAO.getPatientById(id); + } + + @Override + public void registerPatient(PatientDTO patient) { + patientDAO.savePatient(patient); + } + +} From e88ec73a8794eb92e65037f594c96ab7fb154c2e Mon Sep 17 00:00:00 2001 From: Turqut7 Date: Sun, 13 Oct 2024 23:56:50 +0400 Subject: [PATCH 6/6] linkedlist and mergeSortedArrays done --- .gitignore | 3 +- .../patientProject/PatientManagementApp.java | 28 --------- .../controller/PatientController.java | 29 ---------- .../patientProject/dao/PatientDAO.java | 14 ----- .../dao/impl/PatientDAOImpl.java | 32 ----------- .../patientProject/model/dto/PatientDTO.java | 57 ------------------- .../service/PatientService.java | 9 --- .../service/impl/PatientServiceImpl.java | 25 -------- 8 files changed, 2 insertions(+), 195 deletions(-) delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java delete mode 100644 src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java diff --git a/.gitignore b/.gitignore index 5ff6309..8ff157d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,10 @@ -target/ +/target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ ### IntelliJ IDEA ### +/.idea/ .idea/modules.xml .idea/jarRepositories.xml .idea/compiler.xml diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java b/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java deleted file mode 100644 index 346e266..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/PatientManagementApp.java +++ /dev/null @@ -1,28 +0,0 @@ -package az.edu.turing.miniProjects.patientProject; - -import az.edu.turing.miniProjects.patientProject.controller.PatientController; -import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; -import az.edu.turing.miniProjects.patientProject.dao.impl.PatientDAOImpl; -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; -import az.edu.turing.miniProjects.patientProject.service.PatientService; -import az.edu.turing.miniProjects.patientProject.service.impl.PatientServiceImpl; - -public class PatientManagementApp { - public static void main(String[] args) { - - PatientDAO patientDAO = new PatientDAOImpl(); - PatientService patientService = new PatientServiceImpl(patientDAO); - - PatientController patientController = new PatientController(patientService); - - PatientDTO patient1 = new PatientDTO(1, "Saleh", 24, "Depression "); - PatientDTO patient2 = new PatientDTO(2, "Leyla", 20, "Asthma "); - - patientController.addNewPatient(patient1); - patientController.addNewPatient(patient2); - - patientController.getPatientInfo(3); - patientController.getPatientInfo(2); - patientController.getPatientInfo(1); - } -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java b/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java deleted file mode 100644 index d40062b..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/controller/PatientController.java +++ /dev/null @@ -1,29 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.controller; - -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; -import az.edu.turing.miniProjects.patientProject.service.PatientService; - -public class PatientController { - - private PatientService patientService; - - public PatientController(PatientService patientService) { - this.patientService = patientService; - } - - public void addNewPatient(PatientDTO patient) { - patientService.registerPatient(patient); - System.out.println("Patient registered successfully!"); - } - - public void getPatientInfo(int id) { - PatientDTO patient = patientService.getPatientById(id); - if (patient != null) { - System.out.println("Patient details : " + patient.toString()); - } else { - System.out.println("No patient found with given ID."); - } - - } - -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java deleted file mode 100644 index b91e58d..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/PatientDAO.java +++ /dev/null @@ -1,14 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.dao; - -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; - -import java.util.List; -import java.util.ArrayList; - -public interface PatientDAO { - PatientDTO getPatientById(int id); - - List getAllPatients(); - - void savePatient(PatientDTO patient); -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java b/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java deleted file mode 100644 index 3bcb37e..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/dao/impl/PatientDAOImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.dao.impl; - -import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; - -import java.util.ArrayList; -import java.util.List; - -public class PatientDAOImpl implements PatientDAO { - - private List patients = new ArrayList(); - - @Override - public PatientDTO getPatientById(int id) { - for (PatientDTO patient : patients) { - if (patient.getId() == id) { - return patient; - } - } - return null; - } - - @Override - public List getAllPatients() { - return patients; - } - - @Override - public void savePatient(PatientDTO patient) { - patients.add(patient); - } -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java b/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java deleted file mode 100644 index d6c2f45..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/model/dto/PatientDTO.java +++ /dev/null @@ -1,57 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.model.dto; - -public class PatientDTO { - private int id; - private String name; - private int age; - private String diagnosis; - - public PatientDTO(int id, String name, int age, String diagnosis) { - this.id = id; - this.name = name; - this.age = age; - this.diagnosis = diagnosis; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getDiagnosis() { - return diagnosis; - } - - public void setDiagnosis(String diagnosis) { - this.diagnosis = diagnosis; - } - - @Override - public String toString() { - return "PatientDTO{" + - "id=" + id + - ", name='" + name + '\'' + - ", age=" + age + - ", diagnosis='" + diagnosis + '\'' + - '}'; - } -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java b/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java deleted file mode 100644 index 80fa986..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/service/PatientService.java +++ /dev/null @@ -1,9 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.service; - -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; - -public interface PatientService { - PatientDTO getPatientById(int id); - - void registerPatient(PatientDTO patient); -} diff --git a/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java b/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java deleted file mode 100644 index c21030c..0000000 --- a/src/main/java/az/edu/turing/miniProjects/patientProject/service/impl/PatientServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package az.edu.turing.miniProjects.patientProject.service.impl; - -import az.edu.turing.miniProjects.patientProject.dao.PatientDAO; -import az.edu.turing.miniProjects.patientProject.model.dto.PatientDTO; -import az.edu.turing.miniProjects.patientProject.service.PatientService; - -public class PatientServiceImpl implements PatientService { - - private PatientDAO patientDAO; - - public PatientServiceImpl(PatientDAO patientDAO) { - this.patientDAO = patientDAO; - } - - @Override - public PatientDTO getPatientById(int id) { - return patientDAO.getPatientById(id); - } - - @Override - public void registerPatient(PatientDTO patient) { - patientDAO.savePatient(patient); - } - -}