1

Merge remote-tracking branch 'origin/csv-import' into feature-orga-csv

# Conflicts:
#	src/main/java/mops/gruppen2/controller/APIController.java
#	src/main/resources/templates/create.html
This commit is contained in:
XXNitram
2020-03-18 03:23:22 +01:00
5 changed files with 40 additions and 3 deletions

View File

@ -68,6 +68,7 @@ dependencies {
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
implementation 'com.github.javafaker:javafaker:1.0.2'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.2'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

View File

@ -13,7 +13,10 @@ import mops.gruppen2.service.GroupService;
import mops.gruppen2.service.SerializationService;
import org.springframework.security.access.annotation.Secured;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
@ -59,4 +62,14 @@ public class APIController {
List<Group> groups = groupService.projectEventList(eventList);
return groups.get(0);
}
@PostMapping(value = "/uploadcsv", consumes = "text/csv")
public void uploadCsv(@RequestBody InputStream body) throws IOException {
System.out.println(CsvService.read(body));
}
@PostMapping(value = "/uploadcsv", consumes = "multipart/form-data")
public void uploadMultipart(@RequestParam("file") MultipartFile file) throws IOException {
System.out.println(CsvService.read(file.getInputStream()));
}
}

View File

@ -3,10 +3,11 @@ package mops.gruppen2.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.NoArgsConstructor;
@Value
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(exclude = {"givenname", "familyname", "email"})
public class User {
String user_id;

View File

@ -0,0 +1,22 @@
package mops.gruppen2.service;
import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import mops.gruppen2.domain.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class CsvService {
public static List<User> read(InputStream stream) throws IOException {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(User.class).withHeader().withColumnReordering(true);
ObjectReader reader = mapper.readerFor(User.class).with(schema);
return reader.<User>readValues(stream).readAll();
}
}

View File

@ -64,4 +64,4 @@
</div>
</main>
</body>
</html>
</html>