diff --git a/buisnesslogic/pom.xml b/buisnesslogic/pom.xml
index 5bd658b..77e0dd0 100644
--- a/buisnesslogic/pom.xml
+++ b/buisnesslogic/pom.xml
@@ -36,19 +36,35 @@
2.3.0
- mysql
- mysql-connector-java
- 8.0.18
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
-
-
+ mysql
+ mysql-connector-java
+ 8.0.18
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 3.17
+
+
+
+
+ org.apache.poi
+ poi
+ 3.17
+
+
-
+
+
diff --git a/buisnesslogic/src/main/java/com/plannaplan/configutils/FileReader.java b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileReader.java
new file mode 100644
index 0000000..e6ec16c
--- /dev/null
+++ b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileReader.java
@@ -0,0 +1,55 @@
+package com.plannaplan.configutils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import com.plannaplan.models.FileData;
+
+public class FileReader {
+
+ private InputStream fileInputStream;
+
+ public FileReader(InputStream fileInputStream) {
+ this.fileInputStream = fileInputStream;
+ }
+
+ public FileData read() {
+
+ FileData result = null;
+
+ try {
+ InputStream fis = this.fileInputStream;
+ XSSFWorkbook workbook = new XSSFWorkbook(fis);
+ XSSFSheet sheet = workbook.getSheetAt(0);
+
+ Iterator rowIt = sheet.iterator();
+
+ Row row = rowIt.next();
+ Iterator cellIt = row.cellIterator();
+
+ Hashtable keys = new Hashtable<>();
+ int index = 0;
+ while (cellIt.hasNext()) {
+ Cell c = cellIt.next();
+ keys.put(c.toString(), index);
+ }
+
+ rowIt.remove();
+ result = new FileData(keys, rowIt);
+ workbook.close();
+ fis.close();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git a/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java
index a19a5eb..9685468 100644
--- a/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java
+++ b/buisnesslogic/src/main/java/com/plannaplan/configutils/FileToDatabaseMigrator.java
@@ -1,12 +1,12 @@
package com.plannaplan.configutils;
-import java.io.File;
+import com.plannaplan.models.FileData;
public class FileToDatabaseMigrator {
public FileToDatabaseMigrator() {
}
- public void migrate(File file) {
+ public void migrate(FileData data) {
}
}
\ No newline at end of file
diff --git a/buisnesslogic/src/main/java/com/plannaplan/models/FileData.java b/buisnesslogic/src/main/java/com/plannaplan/models/FileData.java
new file mode 100644
index 0000000..6505788
--- /dev/null
+++ b/buisnesslogic/src/main/java/com/plannaplan/models/FileData.java
@@ -0,0 +1,34 @@
+package com.plannaplan.models;
+
+import java.util.Dictionary;
+import java.util.Iterator;
+
+import org.apache.poi.ss.usermodel.Row;
+
+public class FileData {
+
+ private Dictionary keys;
+ private Iterator rows;
+
+ public FileData(Dictionary keys, Iterator rows) {
+ this.setKeys(keys);
+ this.setRows(rows);
+ }
+
+ public Iterator getRows() {
+ return rows;
+ }
+
+ public void setRows(Iterator rows) {
+ this.rows = rows;
+ }
+
+ public Dictionary getKeys() {
+ return keys;
+ }
+
+ public void setKeys(Dictionary keys) {
+ this.keys = keys;
+ }
+
+}
\ No newline at end of file
diff --git a/buisnesslogic/src/test/java/com/plannaplan/configutils/FileReaderTest.java b/buisnesslogic/src/test/java/com/plannaplan/configutils/FileReaderTest.java
new file mode 100644
index 0000000..f293f74
--- /dev/null
+++ b/buisnesslogic/src/test/java/com/plannaplan/configutils/FileReaderTest.java
@@ -0,0 +1,21 @@
+package com.plannaplan.configutils;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+
+import com.plannaplan.models.FileData;
+
+import org.junit.Test;
+
+public class FileReaderTest {
+ @Test
+ public void shoulReturnNull() {
+ InputStream inputStream = getClass().getClassLoader().getResourceAsStream("Zajecia.xlsx");
+ FileReader r = new FileReader(inputStream);
+ FileData d = r.read();
+ assertTrue(d.getRows().next().getCell(0).toString().equals("1.0"));
+ assertTrue(d.getKeys().size() == 22);
+ assertTrue(d != null);
+ }
+}
\ No newline at end of file
diff --git a/buisnesslogic/src/test/resources/Zajecia.xlsx b/buisnesslogic/src/test/resources/Zajecia.xlsx
new file mode 100644
index 0000000..ade4cad
Binary files /dev/null and b/buisnesslogic/src/test/resources/Zajecia.xlsx differ
|