diff --git a/build.gradle b/build.gradle index 80b6e41..bb7dd0d 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,7 @@ repositories { dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' developmentOnly 'org.springframework.boot:spring-boot-devtools' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' testImplementation 'org.springframework.boot:spring-boot-starter-test' } diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/controller/BookController.java b/src/main/java/ru/ip/labworks/labworks/bookshop/controller/BookController.java new file mode 100644 index 0000000..ff19cf9 --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/controller/BookController.java @@ -0,0 +1,4 @@ +package ru.ip.labworks.labworks.bookshop.controller; + +public class BookController { +} diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/controller/GenreController.java b/src/main/java/ru/ip/labworks/labworks/bookshop/controller/GenreController.java new file mode 100644 index 0000000..d77706c --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/controller/GenreController.java @@ -0,0 +1,4 @@ +package ru.ip.labworks.labworks.bookshop.controller; + +public class GenreController { +} diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/model/Book.java b/src/main/java/ru/ip/labworks/labworks/bookshop/model/Book.java new file mode 100644 index 0000000..71ddb68 --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/model/Book.java @@ -0,0 +1,54 @@ +package ru.ip.labworks.labworks.bookshop.model; + +import javax.persistence.*; +import java.util.*; + +@Entity +public class Book { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + private String name; + private Date release; + @ManyToMany + @JoinTable(name = "books_genres", + joinColumns = @JoinColumn(name = "book_fk"), + inverseJoinColumns = @JoinColumn(name = "genre_fk")) + private List genres; + + public Book(){} + public Book(String name,Date release){ + this.name = name; + this.release = release; + } + + public Long getId(){return id;} + + public String getName(){return name;} + public void setName(String name){this.name = name;} + + public Date getRelease(){return release;} + public void setRelease(Date release){this.release = release;} + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Book book = (Book) o; + return Objects.equals(id, book.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + return "Book{" + + "id=" + id + + ", name='" + name + '\'' + + ", release='" + release + '\'' + + '}'; + } +} diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/model/Genre.java b/src/main/java/ru/ip/labworks/labworks/bookshop/model/Genre.java new file mode 100644 index 0000000..5b479f5 --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/model/Genre.java @@ -0,0 +1,45 @@ +package ru.ip.labworks.labworks.bookshop.model; + +import javax.persistence.*; +import java.util.*; + +@Entity +public class Genre { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + private String name; + @ManyToMany(mappedBy = "genres") + private List books; + + public Genre(){} + public Genre(String name){ + this.name = name; + } + + public Long getId(){return id;} + + public String getName(){return name;} + public void setName(String name){this.name = name;} + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Genre genre = (Genre) o; + return Objects.equals(id, genre.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + return "Genre{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/service/BookService.java b/src/main/java/ru/ip/labworks/labworks/bookshop/service/BookService.java new file mode 100644 index 0000000..d219e10 --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/service/BookService.java @@ -0,0 +1,4 @@ +package ru.ip.labworks.labworks.bookshop.service; + +public class BookService { +} diff --git a/src/main/java/ru/ip/labworks/labworks/bookshop/service/GenreService.java b/src/main/java/ru/ip/labworks/labworks/bookshop/service/GenreService.java new file mode 100644 index 0000000..f15c69d --- /dev/null +++ b/src/main/java/ru/ip/labworks/labworks/bookshop/service/GenreService.java @@ -0,0 +1,4 @@ +package ru.ip.labworks.labworks.bookshop.service; + +public class GenreService { +} diff --git a/src/main/java/ru/ip/labworks/labworks/controller/UserController.java b/src/main/java/ru/ip/labworks/labworks/calculator/controller/UserController.java similarity index 90% rename from src/main/java/ru/ip/labworks/labworks/controller/UserController.java rename to src/main/java/ru/ip/labworks/labworks/calculator/controller/UserController.java index 753c20c..1f67409 100644 --- a/src/main/java/ru/ip/labworks/labworks/controller/UserController.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/controller/UserController.java @@ -1,9 +1,9 @@ -package ru.ip.labworks.labworks.controller; +package ru.ip.labworks.labworks.calculator.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import ru.ip.labworks.labworks.service.CalculatorService; +import ru.ip.labworks.labworks.calculator.service.CalculatorService; @RestController public class UserController { diff --git a/src/main/java/ru/ip/labworks/labworks/domain/ArrayCalculator.java b/src/main/java/ru/ip/labworks/labworks/calculator/domain/ArrayCalculator.java similarity index 96% rename from src/main/java/ru/ip/labworks/labworks/domain/ArrayCalculator.java rename to src/main/java/ru/ip/labworks/labworks/calculator/domain/ArrayCalculator.java index 1822bc5..ffb228d 100644 --- a/src/main/java/ru/ip/labworks/labworks/domain/ArrayCalculator.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/domain/ArrayCalculator.java @@ -1,4 +1,4 @@ -package ru.ip.labworks.labworks.domain; +package ru.ip.labworks.labworks.calculator.domain; import org.springframework.stereotype.Component; diff --git a/src/main/java/ru/ip/labworks/labworks/domain/ITypeCalculator.java b/src/main/java/ru/ip/labworks/labworks/calculator/domain/ITypeCalculator.java similarity index 75% rename from src/main/java/ru/ip/labworks/labworks/domain/ITypeCalculator.java rename to src/main/java/ru/ip/labworks/labworks/calculator/domain/ITypeCalculator.java index afaa406..366a46c 100644 --- a/src/main/java/ru/ip/labworks/labworks/domain/ITypeCalculator.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/domain/ITypeCalculator.java @@ -1,4 +1,4 @@ -package ru.ip.labworks.labworks.domain; +package ru.ip.labworks.labworks.calculator.domain; public interface ITypeCalculator { diff --git a/src/main/java/ru/ip/labworks/labworks/domain/IntCalculator.java b/src/main/java/ru/ip/labworks/labworks/calculator/domain/IntCalculator.java similarity index 91% rename from src/main/java/ru/ip/labworks/labworks/domain/IntCalculator.java rename to src/main/java/ru/ip/labworks/labworks/calculator/domain/IntCalculator.java index 43fc34f..947e6fc 100644 --- a/src/main/java/ru/ip/labworks/labworks/domain/IntCalculator.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/domain/IntCalculator.java @@ -1,4 +1,4 @@ -package ru.ip.labworks.labworks.domain; +package ru.ip.labworks.labworks.calculator.domain; import org.springframework.stereotype.Component; diff --git a/src/main/java/ru/ip/labworks/labworks/domain/StringCalculator.java b/src/main/java/ru/ip/labworks/labworks/calculator/domain/StringCalculator.java similarity index 93% rename from src/main/java/ru/ip/labworks/labworks/domain/StringCalculator.java rename to src/main/java/ru/ip/labworks/labworks/calculator/domain/StringCalculator.java index 074afa9..4b8d417 100644 --- a/src/main/java/ru/ip/labworks/labworks/domain/StringCalculator.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/domain/StringCalculator.java @@ -1,4 +1,4 @@ -package ru.ip.labworks.labworks.domain; +package ru.ip.labworks.labworks.calculator.domain; import org.springframework.stereotype.Component; diff --git a/src/main/java/ru/ip/labworks/labworks/service/CalculatorService.java b/src/main/java/ru/ip/labworks/labworks/calculator/service/CalculatorService.java similarity index 95% rename from src/main/java/ru/ip/labworks/labworks/service/CalculatorService.java rename to src/main/java/ru/ip/labworks/labworks/calculator/service/CalculatorService.java index 403dec9..c653218 100644 --- a/src/main/java/ru/ip/labworks/labworks/service/CalculatorService.java +++ b/src/main/java/ru/ip/labworks/labworks/calculator/service/CalculatorService.java @@ -1,8 +1,8 @@ -package ru.ip.labworks.labworks.service; +package ru.ip.labworks.labworks.calculator.service; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; -import ru.ip.labworks.labworks.domain.ITypeCalculator; +import ru.ip.labworks.labworks.calculator.domain.ITypeCalculator; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/ru/ip/labworks/labworks/LabworksApplicationTests.java b/src/test/java/ru/ip/labworks/labworks/LabworksApplicationTests.java index edb3dde..2775abb 100644 --- a/src/test/java/ru/ip/labworks/labworks/LabworksApplicationTests.java +++ b/src/test/java/ru/ip/labworks/labworks/LabworksApplicationTests.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import ru.ip.labworks.labworks.service.CalculatorService; +import ru.ip.labworks.labworks.calculator.service.CalculatorService; @SpringBootTest class LabworksApplicationTests {