diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/pom.xml b/.idea/pom.xml new file mode 100644 index 0000000..d63a425 --- /dev/null +++ b/.idea/pom.xml @@ -0,0 +1,89 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.3.5 + + + com.example + NursesAssociation + 0.0.1-SNAPSHOT + NursesAssociation + NursesAssociation + + + + + + + + + + + + + + + 17 + 22 + 22 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java b/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java new file mode 100644 index 0000000..9051df0 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java @@ -0,0 +1,73 @@ +package com.example.nursesassociation.Model; + +import jakarta.persistence.*; // Ensure you're using the correct import for Jakarta Persistence +import java.util.List; + +@Entity +@Table(name = "chapters") +public class Chapter { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; + private String district; + + @OneToOne + @JoinColumn(name = "president_id") + private Member president; // Reference to the Member entity + + @OneToMany(mappedBy = "chapter") + private List members; // List of members in this chapter + + // Constructors + public Chapter() {} + + public Chapter(String name, String district, Member president) { + this.name = name; + this.district = district; + this.president = president; + } + + // Getters and Setters + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDistrict() { + return district; + } + + public void setDistrict(String district) { + this.district = district; + } + + public Member getPresident() { + return president; + } + + public void setPresident(Member president) { + this.president = president; + } + + public List getMembers() { + return members; + } + + public void setMembers(List members) { + this.members = members; + } +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java b/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java new file mode 100644 index 0000000..fb4e1b6 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java @@ -0,0 +1,27 @@ +package com.example.nursesassociation.Model; + +import jakarta.persistence.DiscriminatorValue; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jdk.jfr.Event; +import lombok.Getter; +import lombok.Setter; + + +import java.util.List; + +@Entity +@DiscriminatorValue("CONFERENCE") +public class Conference extends Event { + + @OneToMany(mappedBy = "conference") + private List speakers; + @Getter + @Setter + @Id + private Long id; + + // Getters and Setters +} + diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Event.java b/.idea/src/main/java/com/example/nursesassociation/Model/Event.java new file mode 100644 index 0000000..e5060b6 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Event.java @@ -0,0 +1,61 @@ +package com.example.nursesassociation.Model; + +import jakarta.persistence.*; +import org.antlr.v4.runtime.misc.NotNull; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +@Entity +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "event_type") +public abstract class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @NotNull + private LocalDate date; + + private int duration; // duration in hours + + private String location; + + @NotNull + private String title; + + @ManyToMany + @JoinTable( + name = "event_guests", + joinColumns = @JoinColumn(name = "event_id"), + inverseJoinColumns = @JoinColumn(name = "guest_id")) + private List guests = new ArrayList<>(); + + // Getters and Setters + + public void addGuest(Guest guest) { + if (!guests.contains(guest)) { + guests.add((com.example.nursesassociation.Model.Guest) guest); + } + } + + public void removeGuest(Guest guest) { + guests.remove(guest); + } + + @Override + public String toString() { + return "Event{" + + "id=" + id + + ", date=" + date + + ", duration=" + duration + + ", location='" + location + '\'' + + ", title='" + title + '\'' + + '}'; + } + + public abstract String getDescription(); +} + diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java b/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java new file mode 100644 index 0000000..a4b4e3b --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java @@ -0,0 +1,24 @@ +package com.example.nursesassociation.Model; + +import jakarta.persistence.*; + + +@Entity +public class Guest { + + public enum Response { + ATTENDING, NOT_ATTENDING, NO_RESPONSE + } + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; + + @Enumerated(EnumType.STRING) + private Response response; + + // Getters and Setters +} + diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Member.java b/.idea/src/main/java/com/example/nursesassociation/Model/Member.java new file mode 100644 index 0000000..fa2f233 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Member.java @@ -0,0 +1,51 @@ +package com.example.nursesassociation.Model; + +import jakarta.persistence.*; + +@Entity +@Table(name = "members") +public class Member { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; + + @ManyToOne + @JoinColumn(name = "chapter_id") + private Chapter chapter; // Reference back to the Chapter + + // Constructors + public Member() {} + + public Member(String name, Chapter chapter) { + this.name = name; + this.chapter = chapter; + } + + // Getters and Setters + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Chapter getChapter() { + return chapter; + } + + public void setChapter(Chapter chapter) { + this.chapter = chapter; + } +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java b/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java new file mode 100644 index 0000000..83a93bc --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java @@ -0,0 +1,23 @@ +package com.example.nursesassociation.Model; + +import com.example.nursesassociation.Model.Conference; +import jakarta.persistence.*; + + +@Entity +public class Speaker { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; + + private int presentationDuration; // Duration in minutes + + @ManyToOne + @JoinColumn(name = "conference_id") + private Conference conference; + + // Getters and Setters +} diff --git a/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java b/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java new file mode 100644 index 0000000..8077d40 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java @@ -0,0 +1,13 @@ +package com.example.nursesassociation; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class NursesAssociationApplication { + + public static void main(String[] args) { + SpringApplication.run(NursesAssociationApplication.class, args); + } + +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java new file mode 100644 index 0000000..1c401ff --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java @@ -0,0 +1,4 @@ +package com.example.nursesassociation.Repository; + +public interface ChapterRepository { +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java new file mode 100644 index 0000000..f29841e --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java @@ -0,0 +1,6 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ConferenceRepository extends JpaRepository { +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java new file mode 100644 index 0000000..77e06b2 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java @@ -0,0 +1,7 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.w3c.dom.events.Event; + +public interface EventRepository extends JpaRepository { +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java new file mode 100644 index 0000000..e5e1c98 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java @@ -0,0 +1,6 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ExpositionRepository extends JpaRepository { +} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java new file mode 100644 index 0000000..baa3107 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java @@ -0,0 +1,6 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface GuestRepository extends JpaRepository {} \ No newline at end of file diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java new file mode 100644 index 0000000..0f23b73 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java @@ -0,0 +1,6 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface MemberRepository extends JpaRepository {} diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java new file mode 100644 index 0000000..c108526 --- /dev/null +++ b/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java @@ -0,0 +1,6 @@ +package com.example.nursesassociation.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface SpeakerRepository extends JpaRepository {} diff --git a/.idea/src/main/resources/application.properties b/.idea/src/main/resources/application.properties new file mode 100644 index 0000000..2db3e18 --- /dev/null +++ b/.idea/src/main/resources/application.properties @@ -0,0 +1,6 @@ +spring.datasource.url=jdbc:mysql://localhost:3306/nurses_db +spring.datasource.username=root +spring.datasource.password=Tedipapa1684/ +spring.jpa.hibernate.ddl-auto=update +logging.level.root=DEBUG + diff --git a/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java b/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java new file mode 100644 index 0000000..475cb19 --- /dev/null +++ b/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.nursesassociation; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class NursesAssociationApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..d843f34 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file