diff --git a/src/main/java/me/aski/catalogueservice/Application.java b/src/main/java/me/aski/catalogueservice/Application.java deleted file mode 100644 index 104fdea..0000000 --- a/src/main/java/me/aski/catalogueservice/Application.java +++ /dev/null @@ -1,14 +0,0 @@ -package me.aski.catalogueservice; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } - -} - diff --git a/src/main/java/me/aski/catalogueservice/CatalogueServiceApplication.java b/src/main/java/me/aski/catalogueservice/CatalogueServiceApplication.java new file mode 100644 index 0000000..bca034c --- /dev/null +++ b/src/main/java/me/aski/catalogueservice/CatalogueServiceApplication.java @@ -0,0 +1,35 @@ +package me.aski.catalogueservice; + +import me.aski.catalogueservice.dao.CategoryRepository; +import me.aski.catalogueservice.dao.ProductRepository; +import me.aski.catalogueservice.entities.Category; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +import java.util.ArrayList; +import java.util.stream.Stream; + +@SpringBootApplication +public class CatalogueServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(CatalogueServiceApplication.class, args); + } + + @Bean + CommandLineRunner start(CategoryRepository categoryRepository, ProductRepository productRepository) { + return args -> { + + categoryRepository.deleteAll(); + Stream.of("C1 Ordinateur", "C2 Imprimantes").forEach(c -> { + categoryRepository.save(new Category(c.split(" ")[0], c.split(" ")[1], new ArrayList<>())); + + }); + categoryRepository.findAll().forEach(System.out::println); + + }; + } +} + diff --git a/src/main/java/me/aski/catalogueservice/dao/CategoryRepository.java b/src/main/java/me/aski/catalogueservice/dao/CategoryRepository.java new file mode 100644 index 0000000..96b340a --- /dev/null +++ b/src/main/java/me/aski/catalogueservice/dao/CategoryRepository.java @@ -0,0 +1,9 @@ +package me.aski.catalogueservice.dao; + +import me.aski.catalogueservice.entities.Category; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +@RepositoryRestResource +public interface CategoryRepository extends MongoRepository { +} diff --git a/src/main/java/me/aski/catalogueservice/dao/ProductRepository.java b/src/main/java/me/aski/catalogueservice/dao/ProductRepository.java new file mode 100644 index 0000000..7dc764a --- /dev/null +++ b/src/main/java/me/aski/catalogueservice/dao/ProductRepository.java @@ -0,0 +1,8 @@ +package me.aski.catalogueservice.dao; + +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +@RepositoryRestResource +public interface ProductRepository extends MongoRepository { +} diff --git a/src/main/java/me/aski/catalogueservice/entities/Category.java b/src/main/java/me/aski/catalogueservice/entities/Category.java new file mode 100644 index 0000000..e596654 --- /dev/null +++ b/src/main/java/me/aski/catalogueservice/entities/Category.java @@ -0,0 +1,25 @@ +package me.aski.catalogueservice.entities; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.DBRef; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.ArrayList; +import java.util.Collection; + +@Document +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Category { + @Id + private String id; + private String name; + @DBRef + private Collection products = new ArrayList<>(); +} diff --git a/src/main/java/me/aski/catalogueservice/entities/Product.java b/src/main/java/me/aski/catalogueservice/entities/Product.java new file mode 100644 index 0000000..298c056 --- /dev/null +++ b/src/main/java/me/aski/catalogueservice/entities/Product.java @@ -0,0 +1,23 @@ +package me.aski.catalogueservice.entities; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.DBRef; +import org.springframework.data.mongodb.core.mapping.Document; + +@Document +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Product { + @Id + private String id; + private String name; + private double price; + @DBRef + private Category category; +} diff --git a/src/test/java/me/aski/catalogueservice/ApplicationTests.java b/src/test/java/me/aski/catalogueservice/CatalogueServiceApplicationTests.java similarity index 86% rename from src/test/java/me/aski/catalogueservice/ApplicationTests.java rename to src/test/java/me/aski/catalogueservice/CatalogueServiceApplicationTests.java index 50e8763..f594da2 100644 --- a/src/test/java/me/aski/catalogueservice/ApplicationTests.java +++ b/src/test/java/me/aski/catalogueservice/CatalogueServiceApplicationTests.java @@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest -public class ApplicationTests { +public class CatalogueServiceApplicationTests { @Test public void contextLoads() {