Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
<module>selenium-junit-testng</module>
<module>solr</module>
<module>spark-java</module>
<!-- <module>spring-5</module> TODO: CI problems-->
<module>spring-5</module>
<module>spring-akka</module>
<module>spring-amqp</module>
<module>spring-all</module>
Expand Down
3 changes: 1 addition & 2 deletions spring-5/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
*.class

#folders#
.idea
/target
/neoDb*
/data
Expand Down
23 changes: 7 additions & 16 deletions spring-5/src/main/java/com/baeldung/functional/FormHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,33 +18,24 @@ Mono<ServerResponse> handleLogin(ServerRequest request) {
return request
.body(toFormData())
.map(MultiValueMap::toSingleValueMap)
.map(formData -> {
System.out.println("form data: " + formData.toString());
if ("baeldung".equals(formData.get("user")) && "you_know_what_to_do".equals(formData.get("token"))) {
return ok()
.body(Mono.just("welcome back!"), String.class)
.block();
}
return ServerResponse
.badRequest()
.build()
.block();
});
.filter(formData -> "baeldung".equals(formData.get("user")))
.filter(formData -> "you_know_what_to_do".equals(formData.get("token")))
.flatMap(formData -> ok().body(Mono.just("welcome back!"), String.class))
.or(ServerResponse.badRequest().build());
}

Mono<ServerResponse> handleUpload(ServerRequest request) {
return request
.body(toDataBuffers())
.collectList()
.map(dataBuffers -> {
.flatMap(dataBuffers -> {
AtomicLong atomicLong = new AtomicLong(0);
dataBuffers.forEach(d -> atomicLong.addAndGet(d
.asByteBuffer()
.array().length));
System.out.println("data length:" + atomicLong.get());

return ok()
.body(fromObject(atomicLong.toString()))
.block();
.body(fromObject(atomicLong.toString()));
});
}
}
34 changes: 11 additions & 23 deletions spring-5/src/main/java/com/baeldung/web/FooController.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
package com.baeldung.web;

import java.util.List;
import java.util.Optional;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

import com.baeldung.persistence.FooRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import com.baeldung.persistence.FooRepository;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.util.List;

@RestController("/foos")
public class FooController {
Expand All @@ -30,30 +19,29 @@ public class FooController {

// API - read

@RequestMapping(method = RequestMethod.GET, value = "/foos/{id}")
@GetMapping("/foos/{id}")
@ResponseBody
@Validated
public Foo findById(@PathVariable @Min(0) final long id) {
return repo.findOne(id).orElse(null);
return repo.findById(id).orElse(null);
}

@RequestMapping(method = RequestMethod.GET)
@GetMapping
@ResponseBody
public List<Foo> findAll() {
return repo.findAll();
}

@RequestMapping(params = { "page", "size" }, method = RequestMethod.GET)
@GetMapping(params = { "page", "size" })
@ResponseBody
@Validated
public List<Foo> findPaginated(@RequestParam("page") @Min(0) final int page, @Max(100) @RequestParam("size") final int size) {
final Page<Foo> resultPage = repo.findAll(new PageRequest(page, size));
return resultPage.getContent();
return repo.findAll(PageRequest.of(page, size)).getContent();
}

// API - write

@RequestMapping(method = RequestMethod.PUT, value = "/foos/{id}")
@PutMapping("/foos/{id}")
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Foo update(@PathVariable("id") final String id, @RequestBody final Foo foo) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

@RunWith(SpringRunner.class)
@SpringBootTest
public class IntegrationTestExample1 {
public class Example1IntegrationTest {

@Test
public void test1a() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

@RunWith(SpringRunner.class)
@SpringBootTest
public class IntegrationTestExample2 {
public class Example2IntegrationTest {

@Test
public void test1a() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
import org.junit.runner.Computer;
import org.junit.runner.JUnitCore;

public class ParallelTestExample {
public class ParallelIntegrationTest {

@Test
public void runTests() {
final Class<?>[] classes = { IntegrationTestExample1.class, IntegrationTestExample2.class };
final Class<?>[] classes = { Example1IntegrationTest.class, Example2IntegrationTest.class };

JUnitCore.runClasses(new Computer(), classes);
}

@Test
public void runTestsInParallel() {
final Class<?>[] classes = { IntegrationTestExample1.class, IntegrationTestExample2.class };
final Class<?>[] classes = { Example1IntegrationTest.class, Example2IntegrationTest.class };

JUnitCore.runClasses(new ParallelComputer(true, true), classes);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

@RunWith(SpringRunner.class)
@SpringBootTest
public class Spring5ApplicationTests {
public class Spring5ApplicationIntegrationTest {

@Test
public void contextLoads() {
Expand Down
Loading