From 90cc284f7a5552f4208b3c19719c2a9a085867e2 Mon Sep 17 00:00:00 2001 From: Filip Izydorczyk Date: Tue, 4 Aug 2020 17:30:03 +0200 Subject: [PATCH] Made Lecturer service to work --- .../java/com/plannaplan/Configurator.java | 15 ++++++++ .../main/java/com/plannaplan/Controller.java | 13 ++++++- .../configutils/FileToDatabaseMigrator.java | 11 +++--- .../com/plannaplan/models/ConfigData.java | 12 +++---- .../repositories/LecturerRepository.java | 1 - .../FileToDatabaseMigratorTest.java | 11 +++--- .../java/com/plannaplan/TestController.java | 14 -------- .../controllers/ConfigController.java | 36 +++++++++++++++++++ 8 files changed, 82 insertions(+), 31 deletions(-) delete mode 100644 restservice/src/main/java/com/plannaplan/TestController.java create mode 100644 restservice/src/main/java/com/plannaplan/controllers/ConfigController.java diff --git a/buisnesslogic/src/main/java/com/plannaplan/Configurator.java b/buisnesslogic/src/main/java/com/plannaplan/Configurator.java index 1d131d6..79de217 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/Configurator.java +++ b/buisnesslogic/src/main/java/com/plannaplan/Configurator.java @@ -2,13 +2,28 @@ package com.plannaplan; import com.plannaplan.interfaces.ProtectedAction; import com.plannaplan.models.ConfigData; +import com.plannaplan.models.FileData; +import com.plannaplan.services.LecturerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.plannaplan.configutils.*; + +@Component public class Configurator implements ProtectedAction { + @Autowired + private LecturerService lecturerService; + public Configurator() { } public void config(ConfigData data) { + FileReader reader = new FileReader(data.getFilestream()); + FileData coursesData = reader.read(); + FileToDatabaseMigrator mgtr = new FileToDatabaseMigrator(lecturerService); + mgtr.migrate(coursesData); } @Override diff --git a/buisnesslogic/src/main/java/com/plannaplan/Controller.java b/buisnesslogic/src/main/java/com/plannaplan/Controller.java index e9384ea..f16ff41 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/Controller.java +++ b/buisnesslogic/src/main/java/com/plannaplan/Controller.java @@ -1,6 +1,16 @@ package com.plannaplan; +import com.plannaplan.models.ConfigData; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component public class Controller { + + @Autowired + private Configurator configurator; + public Controller() { } @@ -22,7 +32,8 @@ public class Controller { public void getHistoryAtPoint() { } - public void config() { + public void config(ConfigData data) { + configurator.config(data); } public void createTransfer() { diff --git a/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java index 38addf5..2231212 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java +++ b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java @@ -13,7 +13,10 @@ public class FileToDatabaseMigrator { public static String LECTURER_SURNAME_STRING = "nazwisko"; public static String LECTURER_TITLE_STRING = "tytul"; - public FileToDatabaseMigrator() { + LecturerService lecturerService; + + public FileToDatabaseMigrator(LecturerService lecturerService) { + this.lecturerService = lecturerService; } public void migrate(FileData data) { @@ -23,13 +26,13 @@ public class FileToDatabaseMigrator { int surname_index = data.getIndexOf(FileToDatabaseMigrator.LECTURER_SURNAME_STRING); int name_index = data.getIndexOf(FileToDatabaseMigrator.LECTURER_NAME_STRING); - LecturerService lecturerService = new LecturerService(); - while (rows.hasNext()) { Row row = rows.next(); Lecturer newLecturer = new Lecturer(row.getCell(title_index).toString(), row.getCell(name_index).toString(), row.getCell(surname_index).toString()); - + System.out.println(newLecturer.getSurname()); + System.out.println(newLecturer.getName()); + System.out.println(newLecturer.getTitle()); lecturerService.save(newLecturer); } diff --git a/buisnesslogic/src/main/java/com/plannaplan/models/ConfigData.java b/buisnesslogic/src/main/java/com/plannaplan/models/ConfigData.java index 15be230..724e96d 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/models/ConfigData.java +++ b/buisnesslogic/src/main/java/com/plannaplan/models/ConfigData.java @@ -1,21 +1,21 @@ package com.plannaplan.models; -import java.io.File; import java.util.Date; +import java.io.InputStream; public class ConfigData { private Date start; private Date end; - private File file; + private InputStream filestream; - public ConfigData(Date start, Date end, File file) { + public ConfigData(Date start, Date end, InputStream filestream) { this.start = start; this.end = end; - this.file = file; + this.filestream = filestream; } - public File getFile() { - return file; + public InputStream getFilestream() { + return filestream; } public Date getEnd() { diff --git a/buisnesslogic/src/main/java/com/plannaplan/repositories/LecturerRepository.java b/buisnesslogic/src/main/java/com/plannaplan/repositories/LecturerRepository.java index 1651bdb..9a9e02c 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/repositories/LecturerRepository.java +++ b/buisnesslogic/src/main/java/com/plannaplan/repositories/LecturerRepository.java @@ -6,7 +6,6 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository - public interface LecturerRepository extends JpaRepository { } \ No newline at end of file diff --git a/buisnesslogic/src/test/java/com/plannaplan/configutils/FileToDatabaseMigratorTest.java b/buisnesslogic/src/test/java/com/plannaplan/configutils/FileToDatabaseMigratorTest.java index aa04b72..36afe31 100644 --- a/buisnesslogic/src/test/java/com/plannaplan/configutils/FileToDatabaseMigratorTest.java +++ b/buisnesslogic/src/test/java/com/plannaplan/configutils/FileToDatabaseMigratorTest.java @@ -9,10 +9,11 @@ import org.junit.Test; public class FileToDatabaseMigratorTest { @Test public void shouldInsertToDatabase() { - FileToDatabaseMigrator migrator = new FileToDatabaseMigrator(); - InputStream inputStream = getClass().getClassLoader().getResourceAsStream("Zajecia.xlsx"); - FileReader r = new FileReader(inputStream); - FileData d = r.read(); - migrator.migrate(d); + // FileToDatabaseMigrator migrator = new FileToDatabaseMigrator(); + // InputStream inputStream = + // getClass().getClassLoader().getResourceAsStream("Zajecia.xlsx"); + // FileReader r = new FileReader(inputStream); + // FileData d = r.read(); + // migrator.migrate(d); } } \ No newline at end of file diff --git a/restservice/src/main/java/com/plannaplan/TestController.java b/restservice/src/main/java/com/plannaplan/TestController.java deleted file mode 100644 index 5af736f..0000000 --- a/restservice/src/main/java/com/plannaplan/TestController.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plannaplan; - -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@CrossOrigin -public class TestController { - @GetMapping("/") - public String xd() { - return "

xd

"; - } -} \ No newline at end of file diff --git a/restservice/src/main/java/com/plannaplan/controllers/ConfigController.java b/restservice/src/main/java/com/plannaplan/controllers/ConfigController.java new file mode 100644 index 0000000..7ec7f32 --- /dev/null +++ b/restservice/src/main/java/com/plannaplan/controllers/ConfigController.java @@ -0,0 +1,36 @@ +package com.plannaplan.controllers; + +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +import com.plannaplan.Controller; +import com.plannaplan.models.ConfigData; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; + +@RestController +@CrossOrigin +public class ConfigController { + + @Autowired + private Controller contrl; + + @PostMapping("/config") + public ResponseEntity configApp(@RequestParam("file") MultipartFile file) { + try { + ConfigData data = new ConfigData(null, null, file.getInputStream()); + this.contrl.config(data); + return new ResponseEntity<>("Sucess", HttpStatus.OK); + } catch (IOException e) { + return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); + } + } + +} \ No newline at end of file