Skip to content

Commit 8206c58

Browse files
committed
Remove controller
1 parent 762edde commit 8206c58

File tree

2 files changed

+68
-68
lines changed

2 files changed

+68
-68
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
11
package com.baeldung.persistencecontext.controller;
22

3-
import org.springframework.beans.factory.annotation.Autowired;
4-
import org.springframework.web.bind.annotation.PathVariable;
5-
import org.springframework.web.bind.annotation.RequestBody;
6-
import org.springframework.web.bind.annotation.RequestMapping;
7-
import org.springframework.web.bind.annotation.RequestMethod;
8-
import org.springframework.web.bind.annotation.RestController;
9-
103
import com.baeldung.persistencecontext.entity.User;
114
import com.baeldung.persistencecontext.service.ExtendedPersistenceContextUserService;
125
import com.baeldung.persistencecontext.service.TransctionPersistenceContextUserService;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.web.bind.annotation.*;
138

149
@RestController
15-
public class UserController{
10+
public class UserController {
1611

1712
@Autowired
18-
private TransctionPersistenceContextUserService transctionPersistenceContextUserService;
13+
private TransctionPersistenceContextUserService transctionPersistenceContext;
1914
@Autowired
20-
private ExtendedPersistenceContextUserService extendedPersistenceContextUserService;
15+
private ExtendedPersistenceContextUserService extendedPersistenceContext;
2116

22-
@RequestMapping(value = "v1/user", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
17+
@RequestMapping(value = "v1/user", method = RequestMethod.POST,
18+
consumes = "application/json",
19+
produces = "application/json")
2320
public User saveUserV1(@RequestBody User user) {
24-
return transctionPersistenceContextUserService.insertWithTransaction(user);
21+
return transctionPersistenceContext.insertWithTransaction(user);
2522
}
2623

27-
@RequestMapping(value = "v2/user", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
24+
@RequestMapping(value = "v2/user", method = RequestMethod.POST,
25+
consumes = "application/json",
26+
produces = "application/json")
2827
public User saveUserV2(@RequestBody User user) {
29-
return extendedPersistenceContextUserService.insertWithoutTransaction(user);
28+
return extendedPersistenceContext.insertWithoutTransaction(user);
3029
}
31-
32-
@RequestMapping(value = "v3/user", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
30+
31+
@RequestMapping(value = "v3/user", method = RequestMethod.POST,
32+
consumes = "application/json",
33+
produces = "application/json")
3334
public User saveUserV3(@RequestBody User user) {
34-
return extendedPersistenceContextUserService.insertWithTransaction(user);
35+
return extendedPersistenceContext.insertWithTransaction(user);
3536
}
36-
37-
@RequestMapping(value = "v4/user", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
37+
38+
@RequestMapping(value = "v4/user", method = RequestMethod.POST,
39+
consumes = "application/json",
40+
produces = "application/json")
3841
public User saveUserV4(@RequestBody User user) {
39-
return transctionPersistenceContextUserService.insertWithoutTransaction(user);
42+
return transctionPersistenceContext.insertWithoutTransaction(user);
4043
}
4144

42-
@RequestMapping(value = "v1/user/{id}", method = RequestMethod.GET, produces = "application/json")
45+
@RequestMapping(value = "v1/user/{id}", method = RequestMethod.GET,
46+
produces = "application/json")
4347
public User getUserV1(@PathVariable("id") Long id) {
44-
return transctionPersistenceContextUserService.find(id);
48+
return transctionPersistenceContext.find(id);
4549
}
4650

47-
@RequestMapping(value = "v2/user/{id}", method = RequestMethod.GET, produces = "application/json")
51+
@RequestMapping(value = "v2/user/{id}", method = RequestMethod.GET,
52+
produces = "application/json")
4853
public User getUserV2(@PathVariable("id") Long id) {
49-
return extendedPersistenceContextUserService.find(id);
54+
return extendedPersistenceContext.find(id);
5055
}
5156
}
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,87 @@
11
package com.baeldung.persistencecontext;
22

3+
import com.baeldung.persistencecontext.entity.User;
4+
import com.baeldung.persistencecontext.service.ExtendedPersistenceContextUserService;
5+
import com.baeldung.persistencecontext.service.TransctionPersistenceContextUserService;
6+
7+
import javax.persistence.EntityExistsException;
8+
import javax.persistence.TransactionRequiredException;
9+
310
import org.hamcrest.core.Is;
411
import org.hamcrest.core.IsNull;
5-
import org.junit.Before;
612
import org.junit.Test;
713
import org.junit.runner.RunWith;
14+
import org.springframework.beans.factory.annotation.Autowired;
815
import org.springframework.boot.test.context.SpringBootTest;
9-
import org.springframework.boot.web.server.LocalServerPort;
1016
import org.springframework.test.context.junit4.SpringRunner;
11-
import org.springframework.web.client.HttpServerErrorException;
12-
import org.springframework.web.client.RestTemplate;
13-
14-
import com.baeldung.persistencecontext.PersistenceContextDemoApplication;
15-
import com.baeldung.persistencecontext.entity.User;
1617

1718
import static org.junit.Assert.assertThat;
1819

1920
@RunWith(SpringRunner.class)
20-
@SpringBootTest(classes = PersistenceContextDemoApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
21-
21+
@SpringBootTest(classes = PersistenceContextDemoApplication.class)
2222
public class PersistenceContextIntegrationTest {
23-
@LocalServerPort
24-
private int port;
25-
private RestTemplate restTemplate;
26-
27-
@Before
28-
public void setUp() {
29-
restTemplate = new RestTemplate();
30-
}
23+
24+
@Autowired
25+
private TransctionPersistenceContextUserService transctionPersistenceContext;
26+
@Autowired
27+
private ExtendedPersistenceContextUserService extendedPersistenceContext;
3128

3229
@Test
3330
public void testThatWhenUserSavedWithTransctionPersistenceContextThenUserShouldGetSavedInDB() {
3431
User user = new User(121L, "Devender", "admin");
35-
restTemplate.postForEntity(buildRequestUrl("v1/user/"), user, User.class);
36-
User userFromTransctionPersistenceContext = restTemplate.getForObject(buildRequestUrl("v1/user/121"), User.class);
37-
User userFromExtendedPersistenceContext = restTemplate.getForObject(buildRequestUrl("v2/user/121"), User.class);
32+
transctionPersistenceContext.insertWithTransaction(user);
33+
User userFromTransctionPersistenceContext = transctionPersistenceContext.find(user.getId());
34+
User userFromExtendedPersistenceContext = extendedPersistenceContext.find(user.getId());
3835
assertThat(userFromTransctionPersistenceContext, Is.is(IsNull.notNullValue()));
3936
assertThat(userFromExtendedPersistenceContext, Is.is(IsNull.notNullValue()));
4037
}
4138

42-
@Test(expected = HttpServerErrorException.class)
43-
public void testThatWhenUserSaveWithOutTransactionInPersistenceContextTypeTransactionThenShouldWhtowTransactionRequiredExceptionOnPersist() {
39+
@Test(expected = TransactionRequiredException.class)
40+
public void testThatWhenUserSaveWithOutTransactionowTransactionRequiredExceptionOnPersist() {
4441
User user = new User(122L, "Devender", "admin");
45-
restTemplate.postForEntity(buildRequestUrl("v4/user/"), user, User.class);
42+
transctionPersistenceContext.insertWithoutTransaction(user);
4643
}
4744

4845
@Test
49-
public void testThatWhenUserSavedWithExtendedPersistenceContextWithoutTransactionThenUserShouldGetBeCached() {
46+
public void testThatWhenUserSavedWithExtendedPersistenceContextWithoutTransactionThenUserShouldGetCached() {
5047
User user = new User(123L, "Devender", "admin");
51-
restTemplate.postForEntity(buildRequestUrl("v2/user/"), user, User.class);
52-
User userFromExtendedPersistenceContext = restTemplate.getForObject(buildRequestUrl("v2/user/123"), User.class);
53-
User userFromTransctionPersistenceContext = restTemplate.getForObject(buildRequestUrl("v1/user/123"), User.class);
48+
extendedPersistenceContext.insertWithoutTransaction(user);
49+
User userFromExtendedPersistenceContext = extendedPersistenceContext.find(user.getId());
50+
User userFromTransctionPersistenceContext = transctionPersistenceContext.find(user.getId());
5451
assertThat(userFromExtendedPersistenceContext, Is.is(IsNull.notNullValue()));
5552
assertThat(userFromTransctionPersistenceContext, Is.is(IsNull.nullValue()));
5653
}
5754

58-
@Test(expected = HttpServerErrorException.class)
55+
@Test(expected = EntityExistsException.class)
5956
public void testThatWhenAddUserWithSameIdentifierInPersistenceContextThenShouldThrowException() {
60-
User user = new User(126L, "Devender", "admin");
61-
restTemplate.postForEntity(buildRequestUrl("v2/user/"), user, User.class);
62-
restTemplate.postForEntity(buildRequestUrl("v2/user/"), user, User.class);
57+
User user1 = new User(126L, "Devender", "admin");
58+
User user2 = new User(126L, "Devender", "admin");
59+
extendedPersistenceContext.insertWithoutTransaction(user1);
60+
extendedPersistenceContext.insertWithoutTransaction(user2);
6361
}
6462

6563
@Test
6664
public void testThatWhenUserSavedWithExtendedPersistenceContextWithTransactionThenUserShouldSaveEntityIntoDB() {
6765
User user = new User(127L, "Devender", "admin");
68-
restTemplate.postForEntity(buildRequestUrl("v3/user/"), user, User.class);
69-
User userFromDB = restTemplate.getForObject(buildRequestUrl("v1/user/127"), User.class);
66+
extendedPersistenceContext.insertWithTransaction(user);
67+
User userFromDB = transctionPersistenceContext.find(user.getId());
7068
assertThat(userFromDB, Is.is(IsNull.notNullValue()));
7169
}
7270

7371
@Test
7472
public void testThatWhenUserSavedWithExtendedPersistenceContextWithTransactionThenUserShouldFlushCachedEntityIntoDB() {
75-
User user = new User(124L, "Devender", "admin");
76-
restTemplate.postForEntity(buildRequestUrl("v2/user/"), user, User.class);
77-
user = new User(125L, "Devender", "admin");
78-
restTemplate.postForEntity(buildRequestUrl("v3/user/"), user, User.class);
79-
User userFromExtendedPersistenceContextuser1 = restTemplate.getForObject(buildRequestUrl("v2/user/124"), User.class);
80-
User userFromExtendedPersistenceContextuser2 = restTemplate.getForObject(buildRequestUrl("v2/user/125"), User.class);
81-
User userFromTransctionPersistenceContextuser1 = restTemplate.getForObject(buildRequestUrl("v1/user/124"), User.class);
82-
User userFromTransctionPersistenceContextuser2 = restTemplate.getForObject(buildRequestUrl("v1/user/125"), User.class);
73+
User user1 = new User(124L, "Devender", "admin");
74+
extendedPersistenceContext.insertWithoutTransaction(user1);
75+
User user2 = new User(125L, "Devender", "admin");
76+
extendedPersistenceContext.insertWithTransaction(user2);
77+
User userFromExtendedPersistenceContextuser1 = extendedPersistenceContext.find(user1.getId());
78+
User userFromExtendedPersistenceContextuser2 = extendedPersistenceContext.find(user2.getId());
79+
User userFromTransctionPersistenceContextuser1 = transctionPersistenceContext.find(user1.getId());
80+
User userFromTransctionPersistenceContextuser2 = transctionPersistenceContext.find(user2.getId());
8381
assertThat(userFromExtendedPersistenceContextuser1, Is.is(IsNull.notNullValue()));
8482
assertThat(userFromExtendedPersistenceContextuser2, Is.is(IsNull.notNullValue()));
8583
assertThat(userFromTransctionPersistenceContextuser1, Is.is(IsNull.notNullValue()));
8684
assertThat(userFromTransctionPersistenceContextuser2, Is.is(IsNull.notNullValue()));
8785
}
8886

89-
private String buildRequestUrl(String path) {
90-
return "http://localhost:" + port + path;
91-
}
9287
}

0 commit comments

Comments
 (0)