Skip to content

Commit d4f4cdf

Browse files
authored
Merge pull request #3 from hemantjava/hemant
Remove code smell
2 parents 7c5c87d + 862d880 commit d4f4cdf

18 files changed

Lines changed: 8127 additions & 80 deletions

File tree

pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
<dependency>
6868
<groupId>org.projectlombok</groupId>
6969
<artifactId>lombok</artifactId>
70-
<version>1.18.10</version>
7170
<scope>provided</scope>
7271
</dependency>
7372
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
@@ -108,7 +107,6 @@
108107
<dependency>
109108
<groupId>org.junit.jupiter</groupId>
110109
<artifactId>junit-jupiter-api</artifactId>
111-
<version>${junit.jupiter.version}</version>
112110
<scope>test</scope>
113111
</dependency>
114112
<dependency>
@@ -120,7 +118,6 @@
120118
<dependency>
121119
<groupId>org.junit.jupiter</groupId>
122120
<artifactId>junit-jupiter-engine</artifactId>
123-
<version>${junit.jupiter.version}</version>
124121
<scope>test</scope>
125122
</dependency>
126123
<dependency>

src/main/java/com/example/restapidevelopment/RestApiDevelopmentApplication.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package com.example.restapidevelopment;
22

3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.boot.CommandLineRunner;
8+
import org.springframework.boot.SpringApplication;
9+
import org.springframework.boot.autoconfigure.SpringBootApplication;
10+
import org.springframework.cache.annotation.EnableCaching;
11+
312
import com.example.restapidevelopment.config.DummyData;
4-
import com.example.restapidevelopment.repo.EmpRepository;
513
import com.example.restapidevelopment.entity.Car;
614
import com.example.restapidevelopment.entity.Emp;
715
import com.example.restapidevelopment.entity.Person;
816
import com.example.restapidevelopment.repo.CarRepository;
17+
import com.example.restapidevelopment.repo.EmpRepository;
918
import com.example.restapidevelopment.repo.PersonRepository;
10-
import lombok.extern.log4j.Log4j2;
11-
import org.springframework.beans.factory.annotation.Autowired;
12-
import org.springframework.boot.CommandLineRunner;
13-
import org.springframework.boot.SpringApplication;
14-
import org.springframework.boot.autoconfigure.SpringBootApplication;
15-
import org.springframework.cache.annotation.EnableCaching;
1619

17-
import java.util.Arrays;
18-
import java.util.List;
20+
import lombok.extern.log4j.Log4j2;
1921

2022
/**
2123
* http://localhost:8384/swagger-ui.html <i>swagger home page</i>

src/main/java/com/example/restapidevelopment/config/DummyData.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ public static List<Person> getPeople() throws IOException {
2222
return personList;
2323
}
2424

25+
public static List<Person> getPeoplev2() throws IOException {
26+
ObjectMapper objectMapper = new ObjectMapper();
27+
ClassLoader classLoader = DummyData.class.getClassLoader();
28+
//using file
29+
File file = new File(classLoader.getResource("peoplev2.json").getFile());
30+
List<Person> personList = objectMapper.readValue(file, new TypeReference<List<Person>>(){});
31+
return personList;
32+
}
33+
2534
public static List<Car> getCars() throws IOException {
2635
ObjectMapper objectMapper = new ObjectMapper();
2736
ClassLoader classLoader = DummyData.class.getClassLoader();

src/main/java/com/example/restapidevelopment/config/SwaggerConfig.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
package com.example.restapidevelopment.config;
22

3-
import com.google.common.base.Predicates;
3+
import java.util.Arrays;
4+
import java.util.HashSet;
5+
import java.util.Set;
6+
47
import org.springframework.context.annotation.Bean;
58
import org.springframework.context.annotation.Configuration;
9+
610
import springfox.documentation.builders.ApiInfoBuilder;
7-
import springfox.documentation.builders.PathSelectors;
811
import springfox.documentation.builders.RequestHandlerSelectors;
912
import springfox.documentation.service.ApiInfo;
1013
import springfox.documentation.service.Contact;
1114
import springfox.documentation.spi.DocumentationType;
1215
import springfox.documentation.spring.web.plugins.Docket;
1316
import springfox.documentation.swagger2.annotations.EnableSwagger2;
1417

15-
import java.util.Arrays;
16-
import java.util.HashSet;
17-
import java.util.Set;
18-
1918
@Configuration
2019
@EnableSwagger2
2120
public class SwaggerConfig {

src/main/java/com/example/restapidevelopment/controller/BookController.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616
@RestController
1717
@RequestMapping("/book")
1818
public class BookController {
19-
private static List<Book> bookList = new ArrayList<>();
19+
private static final List<Book> bookList = new ArrayList<>();
2020

2121
static {
22-
bookList.add(Book.builder().id(12345).author("Rao").name("Black book").build());
23-
bookList.add(Book.builder().id(12346).author("Gosling").name("Java").build());
22+
bookList.add(Book.builder().id(12345L).author("Rao").name("Black book").build());
23+
bookList.add(Book.builder().id(12346L).author("Gosling").name("Java").build());
2424

2525
}
2626

2727
//localhost:8384/book/list
2828
@GetMapping("/list")
2929
public ResponseEntity<List<Book>> getBookList() {
30-
ResponseEntity responseEntity = new ResponseEntity<>(bookList, HttpStatus.OK);
30+
ResponseEntity<List<Book>> responseEntity = new ResponseEntity<>(bookList, HttpStatus.OK);
3131
log.info(responseEntity);
3232
return responseEntity;
3333
}
@@ -38,11 +38,11 @@ public ResponseEntity<List<Book>> getBookList() {
3838
public ResponseEntity<Book> getBookById(@PathVariable int id) {
3939
Optional<Book> optionalBook = bookList.stream().filter(b -> b.getId() == id).findAny();
4040
if (optionalBook.isPresent()) {
41-
ResponseEntity responseEntity = new ResponseEntity<Book>(optionalBook.get(), HttpStatus.OK);
41+
ResponseEntity<Book> responseEntity = new ResponseEntity<>(optionalBook.get(), HttpStatus.OK);
4242
log.info(responseEntity);
4343
return responseEntity;
4444
}
45-
ResponseEntity responseEntity1 = new ResponseEntity<>(Book.builder().build(), HttpStatus.NOT_FOUND);
45+
ResponseEntity<Book> responseEntity1 = new ResponseEntity<>(Book.builder().build(), HttpStatus.NOT_FOUND);
4646
log.info(responseEntity1);
4747
return responseEntity1;
4848
}
@@ -66,12 +66,11 @@ public ResponseEntity<Book> createBook(@Valid @RequestBody Book book) {
6666
// localhost:8384/book/update
6767
@PutMapping("/update")
6868
public ResponseEntity<Book> updateBook(@RequestBody Book book) {
69-
Book updatedUser = bookList.stream().filter(u->u.getId()==book.getId()).map(up->{
69+
Book updatedUser = bookList.stream().filter(u-> u.getId().equals(book.getId())).peek(up->{
7070
up.setAuthor(book.getAuthor());
7171
up.setName(book.getName());
72-
return up;
73-
}).collect(Collectors.toList()).get(0);
74-
return new ResponseEntity<Book>(updatedUser, HttpStatus.CREATED);
72+
}).collect(Collectors.toList()).get(0);
73+
return new ResponseEntity<>(updatedUser, HttpStatus.CREATED);
7574
}
7675

7776

src/main/java/com/example/restapidevelopment/dto/Book.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
public class Book {
1515
@NonNull
1616
@Size(min = 4)
17-
long id;
17+
private Long id;
1818
String name;
1919
@Size(min = 3)
2020
@ApiModelProperty("Author name should be 3 characters ")

src/main/java/com/example/restapidevelopment/dto/EmpResponse.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package com.example.restapidevelopment.dto;
22

33
import com.example.restapidevelopment.entity.Emp;
4-
import com.fasterxml.jackson.annotation.JsonFormat;
54
import com.fasterxml.jackson.annotation.JsonIgnore;
5+
66
import lombok.Builder;
77
import lombok.RequiredArgsConstructor;
88
import lombok.Setter;
99
import lombok.experimental.Delegate;
1010

11-
import java.time.LocalDateTime;
12-
1311
@Builder
1412
@Setter
1513
@RequiredArgsConstructor

src/main/java/com/example/restapidevelopment/entity/Emp.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
package com.example.restapidevelopment.entity;
22

3+
import java.time.LocalDateTime;
4+
5+
import javax.persistence.Entity;
6+
import javax.persistence.GeneratedValue;
7+
import javax.persistence.GenerationType;
8+
import javax.persistence.Id;
9+
10+
import org.hibernate.annotations.CreationTimestamp;
11+
import org.hibernate.annotations.UpdateTimestamp;
12+
313
import com.fasterxml.jackson.annotation.JsonFormat;
414
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
15+
516
import lombok.AllArgsConstructor;
617
import lombok.Builder;
718
import lombok.Data;
819
import lombok.NoArgsConstructor;
9-
import org.hibernate.annotations.CreationTimestamp;
10-
import org.hibernate.annotations.DynamicUpdate;
11-
import org.hibernate.annotations.UpdateTimestamp;
12-
13-
import javax.persistence.Entity;
14-
import javax.persistence.GeneratedValue;
15-
import javax.persistence.GenerationType;
16-
import javax.persistence.Id;
17-
import java.time.LocalDateTime;
1820

1921
@Builder
2022
@Data

src/main/java/com/example/restapidevelopment/exception/CustomExceptionHandler.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22

33
import org.springframework.http.HttpStatus;
44
import org.springframework.http.ResponseEntity;
5-
import org.springframework.web.bind.annotation.ControllerAdvice;
65
import org.springframework.web.bind.annotation.ExceptionHandler;
76
import org.springframework.web.bind.annotation.RestControllerAdvice;
8-
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
9-
107
import java.time.LocalDateTime;
118

129
@RestControllerAdvice

src/main/java/com/example/restapidevelopment/exception/ErrorResponse.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package com.example.restapidevelopment.exception;
22

3+
import java.time.LocalDateTime;
4+
35
import lombok.AllArgsConstructor;
46
import lombok.Data;
57
import lombok.NoArgsConstructor;
6-
import org.springframework.beans.factory.annotation.Autowired;
7-
8-
import java.time.LocalDateTime;
98

109
@Data
1110
@AllArgsConstructor

0 commit comments

Comments
 (0)