Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
school-portal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Suleman
school-portal
Commits
88ce2805
Commit
88ce2805
authored
Jul 04, 2022
by
Muhammad Suleman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Done With Controller Code
parent
2a33c914
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
404 additions
and
183 deletions
+404
-183
CourseController.java
.../java/com/school/project/controller/CourseController.java
+57
-17
DepartmentController.java
...a/com/school/project/controller/DepartmentController.java
+40
-43
StudentController.java
...java/com/school/project/controller/StudentController.java
+50
-21
TeacherController.java
...java/com/school/project/controller/TeacherController.java
+51
-15
UserController.java
...in/java/com/school/project/controller/UserController.java
+2
-2
CourseDTO.java
src/main/java/com/school/project/dto/CourseDTO.java
+4
-4
DepartmentDTO.java
src/main/java/com/school/project/dto/DepartmentDTO.java
+5
-0
TeacherDTO.java
src/main/java/com/school/project/dto/TeacherDTO.java
+1
-1
CourseMapper.java
src/main/java/com/school/project/mapper/CourseMapper.java
+5
-0
DepartmentMapper.java
...main/java/com/school/project/mapper/DepartmentMapper.java
+2
-0
StudentMapper.java
src/main/java/com/school/project/mapper/StudentMapper.java
+7
-0
TeacherMapper.java
src/main/java/com/school/project/mapper/TeacherMapper.java
+4
-0
Course.java
src/main/java/com/school/project/model/Course.java
+9
-5
Department.java
src/main/java/com/school/project/model/Department.java
+2
-1
Student.java
src/main/java/com/school/project/model/Student.java
+8
-4
Teacher.java
src/main/java/com/school/project/model/Teacher.java
+15
-7
User.java
src/main/java/com/school/project/model/User.java
+1
-1
CourseRepository.java
.../java/com/school/project/repository/CourseRepository.java
+1
-1
DepartmentRepository.java
...a/com/school/project/repository/DepartmentRepository.java
+1
-1
StudentRepository.java
...java/com/school/project/repository/StudentRepository.java
+1
-1
TeacherRepository.java
...java/com/school/project/repository/TeacherRepository.java
+1
-1
UserRepository.java
...in/java/com/school/project/repository/UserRepository.java
+1
-1
OAuth2ServerConfiguration.java
...om/school/project/security/OAuth2ServerConfiguration.java
+4
-3
SecurityConfig.java
...main/java/com/school/project/security/SecurityConfig.java
+2
-1
CourseServiceImp.java
...hool/project/service/implementation/CourseServiceImp.java
+29
-8
DepartmentServiceImp.java
.../project/service/implementation/DepartmentServiceImp.java
+6
-3
StudentServiceImp.java
...ool/project/service/implementation/StudentServiceImp.java
+30
-11
TeacherServiceImp.java
...ool/project/service/implementation/TeacherServiceImp.java
+31
-9
UserServiceImpl.java
...chool/project/service/implementation/UserServiceImpl.java
+6
-6
CourseService.java
.../com/school/project/service/interfaces/CourseService.java
+5
-4
DepartmentService.java
.../school/project/service/interfaces/DepartmentService.java
+6
-1
StudentService.java
...com/school/project/service/interfaces/StudentService.java
+5
-5
TeacherService.java
...com/school/project/service/interfaces/TeacherService.java
+5
-4
application.properties
src/main/resources/application.properties
+7
-2
No files found.
src/main/java/com/school/project/controller/CourseController.java
View file @
88ce2805
package
com
.
school
.
project
.
controller
;
package
com
.
school
.
project
.
controller
;
import
com.school.project.dto.CourseDTO
;
import
com.school.project.mapper.CourseMapper
;
import
com.school.project.model.Course
;
import
com.school.project.model.Course
;
import
com.school.project.service.implementation.CourseServiceImp
;
import
com.school.project.service.interfaces.CourseService
;
import
com.school.project.service.interfaces.CourseService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.EmptyResultDataAccessException
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.sql.SQLIntegrityConstraintViolationException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.NoSuchElementException
;
import
java.util.Optional
;
import
java.util.Optional
;
@Controller
@Controller
@RequestMapping
()
@RequestMapping
()
public
class
CourseController
{
public
class
CourseController
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
CourseService
courseService
;
public
CourseServiceImp
courseServiceImpl
;
@PostMapping
(
"/courses"
)
public
ResponseEntity
<
CourseDTO
>
saveCourse
(
@RequestBody
CourseDTO
courseDTO
)
{
try
{
CourseDTO
course
=
courseServiceImpl
.
saveCourse
(
courseDTO
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
course
);
}
catch
(
Exception
e
)
{
@PostMapping
(
"/course"
)
return
ResponseEntity
.
status
(
HttpStatus
.
BAD_REQUEST
).
build
();
public
Course
saveCourse
(
@RequestBody
Course
course
){
}
return
courseService
.
saveCourse
(
course
);
}
}
@GetMapping
(
"/courses"
)
@GetMapping
(
"/courses"
)
public
List
<
Course
>
readAllCourses
(){
public
ResponseEntity
<
List
<
CourseDTO
>>
readAllCourses
()
{
return
courseService
.
readAllCourse
();
List
<
CourseDTO
>
course
=
courseServiceImpl
.
readAllCourse
();
if
(
course
.
size
()
<=
0
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
course
);
}
}
}
@GetMapping
(
"/course/{id}"
)
@GetMapping
(
"/courses/{id}"
)
public
Optional
<
Course
>
readCourseById
(
@PathVariable
(
name
=
"id"
)
Long
id
)
public
ResponseEntity
<
CourseDTO
>
readCourseById
(
@PathVariable
(
name
=
"id"
)
Long
id
)
{
{
return
courseService
.
readCourseById
(
id
);
try
{
CourseDTO
course
=
courseServiceImpl
.
readCourseById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
course
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
}
}
@PutMapping
(
"/course/{id}"
)
@PutMapping
(
"/courses/{id}"
)
public
Course
updateCourseById
(
@RequestBody
Course
course
,
@PathVariable
(
name
=
"id"
)
Long
id
){
public
ResponseEntity
<
CourseDTO
>
updateCourseById
(
@RequestBody
CourseDTO
courseDTO
,
@PathVariable
(
name
=
"id"
)
Long
id
)
{
return
courseService
.
updateCourseById
(
course
,
id
);
try
{
CourseDTO
updateCourse
=
courseServiceImpl
.
updateCourseById
(
courseDTO
,
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
updateCourse
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
@DeleteMapping
(
"/course/{id}"
)
@DeleteMapping
(
"/courses/{id}"
)
public
void
deleteCourseById
(
@PathVariable
(
name
=
"id"
)
Long
id
){
public
ResponseEntity
deleteCourseById
(
@PathVariable
(
name
=
"id"
)
Long
id
)
{
courseService
.
deleteCourseById
(
id
);
try
{
courseServiceImpl
.
deleteCourseById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
NO_CONTENT
).
build
();
}
catch
(
EmptyResultDataAccessException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
}
}
src/main/java/com/school/project/controller/DepartmentController.java
View file @
88ce2805
package
com
.
school
.
project
.
controller
;
package
com
.
school
.
project
.
controller
;
import
com.school.project.dto.CourseDTO
;
import
com.school.project.dto.DepartmentDTO
;
import
com.school.project.dto.DepartmentDTO
;
import
com.school.project.service.implementation.DepartmentServiceImp
;
import
com.school.project.service.implementation.DepartmentServiceImp
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.EmptyResultDataAccessException
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.sql.SQLIntegrityConstraintViolationException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.NoSuchElementException
;
import
java.util.NoSuchElementException
;
import
java.util.Optional
;
import
java.util.Optional
;
@RestController
@RestController
public
class
DepartmentController
{
public
class
DepartmentController
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
DepartmentServiceImp
departmentServiceImp
;
public
DepartmentServiceImp
departmentServiceImp
;
@GetMapping
(
"department"
)
@GetMapping
(
"department
s
"
)
public
ResponseEntity
<
List
<
DepartmentDTO
>>
readAllDepartments
()
{
public
ResponseEntity
<
List
<
DepartmentDTO
>>
readAllDepartments
()
{
List
<
DepartmentDTO
>
departmentDTO
=
departmentServiceImp
.
readDepartment
();
List
<
DepartmentDTO
>
departmentDTO
=
departmentServiceImp
.
readDepartment
();
if
(
departmentDTO
.
isEmpty
())
{
if
(
departmentDTO
.
isEmpty
())
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
}
else
{
else
{
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
}
}
}
}
@GetMapping
(
"departmentId/{id}"
)
@GetMapping
(
"departmentId/{id}"
)
public
ResponseEntity
<
DepartmentDTO
>
readDepartmentById
(
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
<
DepartmentDTO
>
readDepartmentById
(
@PathVariable
(
"id"
)
Long
id
)
{
try
{
try
{
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
readDepartmentById
(
id
);
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
readDepartmentById
(
id
);
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
}
catch
(
NoSuchElementException
e
)
{
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
}
...
@@ -43,54 +45,49 @@ public class DepartmentController {
...
@@ -43,54 +45,49 @@ public class DepartmentController {
}
}
@GetMapping
(
"departmentName/{name}"
)
@GetMapping
(
"departmentName/{name}"
)
public
ResponseEntity
<
DepartmentDTO
>
findDepartmentByName
(
@PathVariable
(
"name"
)
String
name
){
public
ResponseEntity
<
DepartmentDTO
>
findDepartmentByName
(
@PathVariable
(
"name"
)
String
name
)
{
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
findDepartmentByName
(
name
);
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
findDepartmentByName
(
name
);
if
(
departmentDTO
==
null
)
{
if
(
departmentDTO
==
null
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
else
{
}
else
{
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
}
}
}
}
@PostMapping
(
"departmentSave"
)
@PostMapping
(
"departments"
)
public
ResponseEntity
<
DepartmentDTO
>
saveDepartment
(
@RequestBody
DepartmentDTO
department
){
public
ResponseEntity
<
DepartmentDTO
>
saveDepartment
(
@RequestBody
DepartmentDTO
department
)
{
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
saveDepartment
(
department
);
if
(
departmentDTO
==
null
){
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_ACCEPTABLE
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
departmentDTO
);
}
}
@PutMapping
(
"department/{id}"
)
try
{
public
ResponseEntity
<
DepartmentDTO
>
updateDepartmentById
(
@RequestBody
DepartmentDTO
department
,
@PathVariable
(
"id"
)
Long
id
){
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
saveDepartment
(
department
);
DepartmentDTO
checkDepartment
=
departmentServiceImp
.
readDepartmentById
(
id
);
if
(
checkDepartment
==
null
){
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
departmentDTO
);
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
else
{
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
updateDepartment
(
department
,
id
);
return
ResponseEntity
.
of
(
Optional
.
of
(
departmentDTO
));
}
catch
(
Exception
exception
)
{
}
}
@DeleteMapping
(
"department/{id}"
)
return
ResponseEntity
.
status
(
HttpStatus
.
BAD_REQUEST
).
build
();
public
ResponseEntity
<
Object
>
deleteDepartmentById
(
@PathVariable
(
"id"
)
Long
id
){
departmentServiceImp
.
deleteDepartmentById
(
id
);
DepartmentDTO
departmentDTO
=
departmentServiceImp
.
readDepartmentById
(
id
);
}
if
(
departmentDTO
==
null
){
}
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
build
();
}
else
{
return
ResponseEntity
.
of
(
Optional
.
of
(
"Department Already Not Exist"
));
@PutMapping
(
"departments/{id}"
)
public
ResponseEntity
<
DepartmentDTO
>
updateDepartmentById
(
@RequestBody
DepartmentDTO
department
,
@PathVariable
(
"id"
)
Long
id
)
{
try
{
DepartmentDTO
updateDepartment
=
departmentServiceImp
.
updateDepartment
(
department
,
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
updateDepartment
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
@DeleteMapping
(
"departments/{id}"
)
public
ResponseEntity
<
Object
>
deleteDepartmentById
(
@PathVariable
(
"id"
)
Long
id
)
{
try
{
departmentServiceImp
.
deleteDepartmentById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
NO_CONTENT
).
build
();
}
catch
(
EmptyResultDataAccessException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
}
}
src/main/java/com/school/project/controller/StudentController.java
View file @
88ce2805
package
com
.
school
.
project
.
controller
;
package
com
.
school
.
project
.
controller
;
import
com.school.project.dto.DepartmentDTO
;
import
com.school.project.dto.StudentDTO
;
import
com.school.project.model.Student
;
import
com.school.project.model.Student
;
import
com.school.project.service.implementation.StudentServiceImp
;
import
com.school.project.service.interfaces.StudentService
;
import
com.school.project.service.interfaces.StudentService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.EmptyResultDataAccessException
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.List
;
import
java.util.NoSuchElementException
;
import
java.util.Optional
;
import
java.util.Optional
;
@RestController
@RestController
public
class
StudentController
{
public
class
StudentController
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
StudentService
studentService
;
public
StudentService
Imp
studentServiceImp
;
@PostMapping
(
"/student"
)
@PostMapping
(
"/students"
)
public
Student
saveStudent
(
@RequestBody
Student
student
){
public
ResponseEntity
<
StudentDTO
>
saveStudent
(
@RequestBody
StudentDTO
studentDTO
)
{
return
studentService
.
saveStudent
(
student
);
StudentDTO
student
=
studentServiceImp
.
saveStudent
(
studentDTO
);
if
(
student
==
null
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
student
);
}
}
}
@GetMapping
(
"/students"
)
@GetMapping
(
"/students"
)
public
ResponseEntity
<
List
<
Student
>>
readAllStudents
(){
public
ResponseEntity
<
List
<
StudentDTO
>>
readAllStudents
()
{
List
<
Student
>
students
=
studentService
.
readAllStudents
();
List
<
StudentDTO
>
studentsDTO
=
studentServiceImp
.
readAllStudents
();
if
(
students
.
size
()<=
0
){
if
(
studentsDTO
.
size
()
<=
0
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
studentsDTO
);
}
}
return
ResponseEntity
.
of
(
Optional
.
of
(
students
));
}
}
@GetMapping
(
"student/{id}"
)
@GetMapping
(
"students/{id}"
)
public
Optional
<
Student
>
readStudentById
(
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
<
StudentDTO
>
readStudentById
(
@PathVariable
(
"id"
)
Long
id
)
{
return
studentService
.
readStudentById
(
id
);
try
{
StudentDTO
dto
=
studentServiceImp
.
readStudentById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
NOT_FOUND
).
build
();
}
}
}
@PutMapping
(
"student/{id}"
)
@PutMapping
(
"students/{id}"
)
public
Student
updateStudentById
(
@RequestBody
Student
student
,
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
<
StudentDTO
>
updateStudentById
(
@RequestBody
StudentDTO
studentDTO
,
@PathVariable
(
"id"
)
Long
id
)
{
return
studentService
.
updateStudentById
(
student
,
id
);
try
{
StudentDTO
updateStudent
=
studentServiceImp
.
updateStudentById
(
studentDTO
,
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
updateStudent
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
@DeleteMapping
(
"student/{id}"
)
@DeleteMapping
(
"students/{id}"
)
public
void
deleteStudentById
(
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
deleteStudentById
(
@PathVariable
(
"id"
)
Long
id
)
{
studentService
.
deleteStudentById
(
id
);
try
{
studentServiceImp
.
deleteStudentById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
NO_CONTENT
).
build
();
}
catch
(
EmptyResultDataAccessException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
}
}
\ No newline at end of file
src/main/java/com/school/project/controller/TeacherController.java
View file @
88ce2805
package
com
.
school
.
project
.
controller
;
package
com
.
school
.
project
.
controller
;
import
com.school.project.dto.DepartmentDTO
;
import
com.school.project.dto.TeacherDTO
;
import
com.school.project.model.Teacher
;
import
com.school.project.model.Teacher
;
import
com.school.project.service.implementation.TeacherServiceImp
;
import
com.school.project.service.implementation.TeacherServiceImp
;
import
com.school.project.service.interfaces.TeacherService
;
import
com.school.project.service.interfaces.TeacherService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.dao.EmptyResultDataAccessException
;
import
org.springframework.http.HttpRange
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.List
;
import
java.util.NoSuchElementException
;
import
java.util.Optional
;
import
java.util.Optional
;
@RestController
@RestController
...
@@ -15,31 +22,60 @@ import java.util.Optional;
...
@@ -15,31 +22,60 @@ import java.util.Optional;
public
class
TeacherController
{
public
class
TeacherController
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
TeacherServiceImp
teacherService
;
public
TeacherServiceImp
teacherService
Imp
;
@PostMapping
(
"/teacher"
)
@PostMapping
(
"/saveTeachers"
)
public
Teacher
saveTeacher
(
@RequestBody
Teacher
teacher
){
public
ResponseEntity
<
TeacherDTO
>
saveTeacher
(
@RequestBody
TeacherDTO
teacherDTO
)
{
return
teacherService
.
saveTeacher
(
teacher
);
TeacherDTO
dto
=
teacherServiceImp
.
saveTeacher
(
teacherDTO
);
if
(
dto
==
null
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
}
}
@GetMapping
(
"/teachers"
)
@GetMapping
(
"/teachers"
)
public
List
<
Teacher
>
readAllTeachers
(){
public
ResponseEntity
<
List
<
TeacherDTO
>>
readAllTeachers
()
{
return
(
List
<
Teacher
>)
teacherService
.
readAllTeachers
();
List
<
TeacherDTO
>
teacherDTOS
=
teacherServiceImp
.
readAllTeachers
();
if
(
teacherDTOS
.
size
()
<=
0
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
else
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
teacherDTOS
);
}
}
}
@GetMapping
(
"teacher/{id}"
)
@GetMapping
(
"teachers/{id}"
)
public
Optional
<
Teacher
>
readTeacherById
(
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
<
TeacherDTO
>
readTeacherById
(
@PathVariable
(
"id"
)
Long
id
)
{
return
teacherService
.
readTeacherById
(
id
);
try
{
TeacherDTO
teacherDTO
=
teacherServiceImp
.
readTeacherById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
teacherDTO
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
@PutMapping
(
"teacher/{id}"
)
@PutMapping
(
"teachers/{id}"
)
public
Teacher
updateTeacherById
(
@RequestBody
Teacher
teacher
,
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
<
TeacherDTO
>
updateTeacherById
(
@RequestBody
TeacherDTO
teacherDTO
,
@PathVariable
(
"id"
)
Long
id
)
{
return
teacherService
.
updateTeacher
(
teacher
,
id
);
try
{
TeacherDTO
updateTeacher
=
teacherServiceImp
.
updateTeacher
(
teacherDTO
,
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
updateTeacher
);
}
catch
(
NoSuchElementException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
@DeleteMapping
(
"teacher/{id}"
)
@DeleteMapping
(
"teachers/{id}"
)
public
void
deleteTeacherById
(
@PathVariable
(
"id"
)
Long
id
){
public
ResponseEntity
deleteTeacherById
(
@PathVariable
(
"id"
)
Long
id
)
{
teacherService
.
deleteTeacherById
(
id
);
try
{
teacherServiceImp
.
deleteTeacherById
(
id
);
return
ResponseEntity
.
status
(
HttpStatus
.
NO_CONTENT
).
build
();
}
catch
(
EmptyResultDataAccessException
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
UNPROCESSABLE_ENTITY
).
build
();
}
}
}
}
}
src/main/java/com/school/project/controller/UserController.java
View file @
88ce2805
...
@@ -19,11 +19,11 @@ public class UserController {
...
@@ -19,11 +19,11 @@ public class UserController {
UserMapper
userMapper
;
UserMapper
userMapper
;
@PostMapping
(
"/saveuser"
)
@PostMapping
(
"/saveuser"
)
public
String
saveUser
(
@ModelAttribute
UserDTO
userDTO
){
public
String
saveUser
(
@ModelAttribute
UserDTO
userDTO
)
{
Integer
id
=
userService
.
saveUser
(
userMapper
.
userDtoToUser
(
userDTO
));
Integer
id
=
userService
.
saveUser
(
userMapper
.
userDtoToUser
(
userDTO
));
String
message
=
"User '"
+
id
+
"' saved successfully !"
;
String
message
=
"User '"
+
id
+
"' saved successfully !"
;
return
message
;
return
message
;
}
}
...
...
src/main/java/com/school/project/dto/CourseDTO.java
View file @
88ce2805
...
@@ -9,12 +9,12 @@ import java.util.List;
...
@@ -9,12 +9,12 @@ import java.util.List;
@Data
@Data
public
class
CourseDTO
{
public
class
CourseDTO
{
private
Long
id
;
private
Long
id
;
private
String
title
;
private
String
title
;
List
<
Student
>
studentList
;
List
<
Student
>
studentList
;
private
Teacher
teacher
;
private
List
<
Teacher
>
teacherList
;
}
}
src/main/java/com/school/project/dto/DepartmentDTO.java
View file @
88ce2805
package
com
.
school
.
project
.
dto
;
package
com
.
school
.
project
.
dto
;
import
com.school.project.model.Teacher
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
@Data
@Data
public
class
DepartmentDTO
{
public
class
DepartmentDTO
{
private
Long
id
;
private
Long
id
;
private
String
name
;
private
String
name
;
}
}
src/main/java/com/school/project/dto/TeacherDTO.java
View file @
88ce2805
...
@@ -15,7 +15,7 @@ public class TeacherDTO {
...
@@ -15,7 +15,7 @@ public class TeacherDTO {
private
String
degree
;
private
String
degree
;
private
Course
course
;
private
List
<
Course
>
courseList
;
private
Department
department
;
private
Department
department
;
}
}
src/main/java/com/school/project/mapper/CourseMapper.java
View file @
88ce2805
...
@@ -6,11 +6,16 @@ import com.school.project.model.Course;
...
@@ -6,11 +6,16 @@ import com.school.project.model.Course;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
@Mapper
(
componentModel
=
"spring"
)
@Mapper
(
componentModel
=
"spring"
)
public
interface
CourseMapper
{
public
interface
CourseMapper
{
CourseMapper
INSTANCE
=
Mappers
.
getMapper
(
CourseMapper
.
class
);
CourseMapper
INSTANCE
=
Mappers
.
getMapper
(
CourseMapper
.
class
);
CourseDTO
courseModelToDTO
(
Course
course
);
CourseDTO
courseModelToDTO
(
Course
course
);
Course
courseDTOToModel
(
CourseDTO
courseDTO
);
Course
courseDTOToModel
(
CourseDTO
courseDTO
);
List
<
CourseDTO
>
courseModelToDTO
(
List
<
Course
>
all
);
}
}
src/main/java/com/school/project/mapper/DepartmentMapper.java
View file @
88ce2805
...
@@ -14,7 +14,9 @@ public interface DepartmentMapper {
...
@@ -14,7 +14,9 @@ public interface DepartmentMapper {
DepartmentMapper
INSTANCE
=
Mappers
.
getMapper
(
DepartmentMapper
.
class
);
DepartmentMapper
INSTANCE
=
Mappers
.
getMapper
(
DepartmentMapper
.
class
);
DepartmentDTO
departmentModelToDTO
(
Department
department
);
DepartmentDTO
departmentModelToDTO
(
Department
department
);
Department
departmentDTOToModel
(
DepartmentDTO
saveDepartment
);
Department
departmentDTOToModel
(
DepartmentDTO
saveDepartment
);
List
<
DepartmentDTO
>
departmentListModelToDTO
(
List
<
Department
>
all
);
List
<
DepartmentDTO
>
departmentListModelToDTO
(
List
<
Department
>
all
);
/*@Mappings({
/*@Mappings({
...
...
src/main/java/com/school/project/mapper/StudentMapper.java
View file @
88ce2805
...
@@ -5,10 +5,17 @@ import com.school.project.model.Student;
...
@@ -5,10 +5,17 @@ import com.school.project.model.Student;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
import
java.util.Optional
;
@Mapper
(
componentModel
=
"spring"
)
@Mapper
(
componentModel
=
"spring"
)
public
interface
StudentMapper
{
public
interface
StudentMapper
{
StudentMapper
INSTANCE
=
Mappers
.
getMapper
(
StudentMapper
.
class
);
StudentMapper
INSTANCE
=
Mappers
.
getMapper
(
StudentMapper
.
class
);
StudentDTO
studentModelToDTO
(
Student
student
);
StudentDTO
studentModelToDTO
(
Student
student
);
Student
studentDTOToModel
(
StudentDTO
studentDTO
);
Student
studentDTOToModel
(
StudentDTO
studentDTO
);
List
<
StudentDTO
>
studentModelToDTO
(
List
<
Student
>
all
);
}
}
src/main/java/com/school/project/mapper/TeacherMapper.java
View file @
88ce2805
...
@@ -5,6 +5,8 @@ import com.school.project.model.Teacher;
...
@@ -5,6 +5,8 @@ import com.school.project.model.Teacher;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
@Mapper
(
componentModel
=
"spring"
)
@Mapper
(
componentModel
=
"spring"
)
public
interface
TeacherMapper
{
public
interface
TeacherMapper
{
...
@@ -13,4 +15,6 @@ public interface TeacherMapper {
...
@@ -13,4 +15,6 @@ public interface TeacherMapper {
TeacherDTO
teacherModelToDTo
(
Teacher
teacher
);
TeacherDTO
teacherModelToDTo
(
Teacher
teacher
);
Teacher
teacherDTOToModel
(
TeacherDTO
teacherDTO
);
Teacher
teacherDTOToModel
(
TeacherDTO
teacherDTO
);
List
<
TeacherDTO
>
teacherModelToDTo
(
List
<
Teacher
>
all
);
}
}
src/main/java/com/school/project/model/Course.java
View file @
88ce2805
package
com
.
school
.
project
.
model
;
package
com
.
school
.
project
.
model
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,14 +14,16 @@ public class Course {
...
@@ -12,14 +14,16 @@ public class Course {
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
private
Long
id
;
private
Long
id
;
@Column
(
name
=
"title"
)
@Column
(
name
=
"title"
,
unique
=
true
)
private
String
title
;
private
String
title
;
@ManyToMany
(
fetch
=
FetchType
.
LAZY
,
mappedBy
=
"courseLists"
)
@ManyToMany
(
fetch
=
FetchType
.
LAZY
,
mappedBy
=
"courseLists"
)
List
<
Student
>
studentList
;
@JsonIgnore
private
List
<
Student
>
studentList
;
@OneToOne
(
mappedBy
=
"course"
,
orphanRemoval
=
true
)
private
Teacher
teacher
;
@ManyToMany
(
fetch
=
FetchType
.
LAZY
,
mappedBy
=
"courseList"
)
@JsonIgnore
private
List
<
Teacher
>
teacherList
;
}
}
src/main/java/com/school/project/model/Department.java
View file @
88ce2805
...
@@ -3,6 +3,7 @@ package com.school.project.model;
...
@@ -3,6 +3,7 @@ package com.school.project.model;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.util.List
;
@Data
@Data
@Entity
()
@Entity
()
...
@@ -13,7 +14,7 @@ public class Department {
...
@@ -13,7 +14,7 @@ public class Department {
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
)
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
)
private
Long
id
;
private
Long
id
;
@Column
(
name
=
"name"
,
unique
=
true
)
@Column
(
name
=
"name"
,
unique
=
true
)
private
String
name
;
private
String
name
;
}
}
src/main/java/com/school/project/model/Student.java
View file @
88ce2805
package
com
.
school
.
project
.
model
;
package
com
.
school
.
project
.
model
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.util.List
;
import
java.util.List
;
...
@@ -14,17 +16,19 @@ public class Student {
...
@@ -14,17 +16,19 @@ public class Student {
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
)
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
)
private
Long
id
;
private
Long
id
;
@Column
(
name
=
"name"
)
@Column
(
name
=
"name"
)
private
String
name
;
private
String
name
;
@Column
(
name
=
"age"
)
@Column
(
name
=
"age"
)
private
Long
age
;
private
Long
age
;
@ManyToMany
(
fetch
=
FetchType
.
LAZY
,
cascade
=
{
CascadeType
.
MERGE
})
@ManyToMany
(
fetch
=
FetchType
.
LAZY
,
cascade
=
{
CascadeType
.
MERGE
})
@JoinTable
(
@JoinTable
(
name
=
"studentsCourses"
,
name
=
"studentsCourses"
,
joinColumns
=
{
@JoinColumn
(
name
=
"student_id"
)
},
joinColumns
=
{
@JoinColumn
(
name
=
"student_id"
)
},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"course_id"
)
}
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"course_id"
)
}
)
)
@JsonIgnore
private
List
<
Course
>
courseLists
;
private
List
<
Course
>
courseLists
;
}
}
src/main/java/com/school/project/model/Teacher.java
View file @
88ce2805
package
com
.
school
.
project
.
model
;
package
com
.
school
.
project
.
model
;
import
lombok.Data
;
import
lombok.Data
;
import
org.codehaus.jackson.annotate.JsonIgnore
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
@Entity
@Entity
@Table
(
name
=
"Teacher"
)
@Table
(
name
=
"Teacher"
)
public
class
Teacher
{
public
class
Teacher
{
@Id
@Id
...
@@ -19,12 +21,18 @@ public class Teacher {
...
@@ -19,12 +21,18 @@ public class Teacher {
@Column
(
name
=
"degree"
)
@Column
(
name
=
"degree"
)
private
String
degree
;
private
String
degree
;
@OneToOne
@ManyToMany
(
fetch
=
FetchType
.
EAGER
,
cascade
=
{
CascadeType
.
MERGE
})
@JoinColumn
(
name
=
"course_id"
)
@JoinTable
(
private
Course
course
;
name
=
"teachersCourses"
,
joinColumns
=
{
@JoinColumn
(
name
=
"teacher_id"
)},
@ManyToOne
(
fetch
=
FetchType
.
EAGER
,
cascade
=
CascadeType
.
MERGE
)
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"course_id"
)}
@JoinColumn
(
name
=
"department_id"
,
unique
=
true
)
)
@JsonIgnore
private
List
<
Course
>
courseList
;
@ManyToOne
(
fetch
=
FetchType
.
EAGER
)
@JoinColumn
(
name
=
"department_id"
)
@JsonIgnore
private
Department
department
;
private
Department
department
;
}
}
src/main/java/com/school/project/model/User.java
View file @
88ce2805
...
@@ -26,7 +26,7 @@ public class User {
...
@@ -26,7 +26,7 @@ public class User {
@Column
(
name
=
"user_email"
)
@Column
(
name
=
"user_email"
)
private
String
email
;
private
String
email
;
@ElementCollection
(
fetch
=
FetchType
.
EAGER
)
@ElementCollection
(
fetch
=
FetchType
.
EAGER
)
@CollectionTable
(
@CollectionTable
(
name
=
"roles"
,
name
=
"roles"
,
joinColumns
=
@JoinColumn
(
name
=
"user_id"
)
joinColumns
=
@JoinColumn
(
name
=
"user_id"
)
...
...
src/main/java/com/school/project/repository/CourseRepository.java
View file @
88ce2805
...
@@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@Repository
@Repository
public
interface
CourseRepository
extends
JpaRepository
<
Course
,
Long
>
{
public
interface
CourseRepository
extends
JpaRepository
<
Course
,
Long
>
{
}
}
src/main/java/com/school/project/repository/DepartmentRepository.java
View file @
88ce2805
...
@@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@Repository
@Repository
public
interface
DepartmentRepository
extends
JpaRepository
<
Department
,
Long
>
{
public
interface
DepartmentRepository
extends
JpaRepository
<
Department
,
Long
>
{
public
Department
findByName
(
String
departmentName
);
public
Department
findByName
(
String
departmentName
);
}
}
src/main/java/com/school/project/repository/StudentRepository.java
View file @
88ce2805
...
@@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@Repository
@Repository
public
interface
StudentRepository
extends
JpaRepository
<
Student
,
Long
>
{
public
interface
StudentRepository
extends
JpaRepository
<
Student
,
Long
>
{
}
}
src/main/java/com/school/project/repository/TeacherRepository.java
View file @
88ce2805
...
@@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@Repository
@Repository
public
interface
TeacherRepository
extends
JpaRepository
<
Teacher
,
Long
>
{
public
interface
TeacherRepository
extends
JpaRepository
<
Teacher
,
Long
>
{
}
}
src/main/java/com/school/project/repository/UserRepository.java
View file @
88ce2805
...
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Repository;
...
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Repository;
import
java.util.Optional
;
import
java.util.Optional
;
@Repository
@Repository
public
interface
UserRepository
extends
JpaRepository
<
User
,
Long
>
{
public
interface
UserRepository
extends
JpaRepository
<
User
,
Long
>
{
Optional
<
User
>
findUserByEmail
(
String
email
);
Optional
<
User
>
findUserByEmail
(
String
email
);
}
}
src/main/java/com/school/project/security/
basic/
OAuth2ServerConfiguration.java
→
src/main/java/com/school/project/security/OAuth2ServerConfiguration.java
View file @
88ce2805
package
com
.
school
.
project
.
security
.
basic
;
package
com
.
school
.
project
.
security
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -26,8 +26,8 @@ public class OAuth2ServerConfiguration {
...
@@ -26,8 +26,8 @@ public class OAuth2ServerConfiguration {
private
static
InMemoryTokenStore
tokenStore
=
new
InMemoryTokenStore
();
private
static
InMemoryTokenStore
tokenStore
=
new
InMemoryTokenStore
();
@Bean
@Bean
public
PasswordEncoder
passwordEncoder
(){
public
PasswordEncoder
passwordEncoder
()
{
return
new
BCryptPasswordEncoder
();
return
new
BCryptPasswordEncoder
();
}
}
@Configuration
@Configuration
...
@@ -49,6 +49,7 @@ public class OAuth2ServerConfiguration {
...
@@ -49,6 +49,7 @@ public class OAuth2ServerConfiguration {
.
and
()
.
and
()
.
authorizeRequests
()
.
authorizeRequests
()
.
antMatchers
(
"/department"
).
fullyAuthenticated
()
.
antMatchers
(
"/department"
).
fullyAuthenticated
()
.
antMatchers
(
"/saveuser"
).
permitAll
()
.
antMatchers
(
"/home"
).
authenticated
();
.
antMatchers
(
"/home"
).
authenticated
();
}
}
}
}
...
...
src/main/java/com/school/project/security/
basic/
SecurityConfig.java
→
src/main/java/com/school/project/security/SecurityConfig.java
View file @
88ce2805
package
com
.
school
.
project
.
security
.
basic
;
package
com
.
school
.
project
.
security
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
...
@@ -31,6 +31,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -31,6 +31,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
http
http
.
requestMatcher
(
new
BasicRequestMatcher
())
.
requestMatcher
(
new
BasicRequestMatcher
())
.
authorizeRequests
()
.
authorizeRequests
()
.
antMatchers
(
"/saveuser"
).
permitAll
()
.
antMatchers
(
"/oauth/token"
).
authenticated
()
.
antMatchers
(
"/oauth/token"
).
authenticated
()
.
and
()
.
and
()
.
httpBasic
()
.
httpBasic
()
...
...
src/main/java/com/school/project/service/implementation/CourseServiceImp.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
implementation
;
package
com
.
school
.
project
.
service
.
implementation
;
import
com.school.project.dto.CourseDTO
;
import
com.school.project.mapper.CourseMapper
;
import
com.school.project.model.Course
;
import
com.school.project.model.Course
;
import
com.school.project.repository.CourseRepository
;
import
com.school.project.repository.CourseRepository
;
import
com.school.project.service.interfaces.CourseService
;
import
com.school.project.service.interfaces.CourseService
;
...
@@ -16,25 +18,44 @@ public class CourseServiceImp implements CourseService {
...
@@ -16,25 +18,44 @@ public class CourseServiceImp implements CourseService {
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
CourseRepository
courseRepository
;
public
CourseRepository
courseRepository
;
@Autowired
public
CourseMapper
courseMapper
;
@Override
@Override
public
Course
saveCourse
(
Course
course
)
{
public
CourseDTO
saveCourse
(
CourseDTO
courseDTO
)
{
return
courseRepository
.
save
(
course
);
return
courseMapper
.
courseModelToDTO
(
courseRepository
.
save
(
courseMapper
.
courseDTOToModel
(
courseDTO
)));
}
}
@Transactional
@Transactional
@Override
@Override
public
List
<
Course
>
readAllCourse
()
{
public
List
<
Course
DTO
>
readAllCourse
()
{
return
course
Repository
.
findAll
(
);
return
course
Mapper
.
courseModelToDTO
(
courseRepository
.
findAll
()
);
}
}
@Override
@Override
public
Optional
<
Course
>
readCourseById
(
Long
id
)
{
public
CourseDTO
readCourseById
(
Long
id
)
{
return
course
Repository
.
findById
(
id
);
return
course
Mapper
.
courseModelToDTO
(
courseRepository
.
findById
(
id
).
get
()
);
}
}
@Override
@Override
public
Course
updateCourseById
(
Course
course
,
Long
id
)
{
public
CourseDTO
updateCourseById
(
CourseDTO
courseDTO
,
Long
id
)
{
return
course
;
CourseDTO
dto
=
readCourseById
(
id
);
if
(
courseDTO
.
getTitle
()
!=
null
)
{
dto
.
setTitle
(
courseDTO
.
getTitle
());
}
if
(
courseDTO
.
getTeacherList
()
!=
null
)
{
dto
.
setTeacherList
(
courseDTO
.
getTeacherList
());
}
if
(
courseDTO
.
getStudentList
()
!=
null
)
{
dto
.
setStudentList
(
courseDTO
.
getStudentList
());
}
return
courseMapper
.
courseModelToDTO
(
courseRepository
.
save
(
courseMapper
.
courseDTOToModel
(
dto
)));
}
}
@Override
@Override
...
...
src/main/java/com/school/project/service/implementation/DepartmentServiceImp.java
View file @
88ce2805
...
@@ -11,7 +11,7 @@ import java.util.List;
...
@@ -11,7 +11,7 @@ import java.util.List;
@Service
@Service
public
class
DepartmentServiceImp
implements
DepartmentService
{
public
class
DepartmentServiceImp
implements
DepartmentService
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
private
DepartmentRepository
departmentRepository
;
private
DepartmentRepository
departmentRepository
;
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
private
DepartmentMapper
departmentMapper
;
private
DepartmentMapper
departmentMapper
;
...
@@ -28,9 +28,10 @@ public class DepartmentServiceImp implements DepartmentService {
...
@@ -28,9 +28,10 @@ public class DepartmentServiceImp implements DepartmentService {
return
departmentMapper
.
departmentListModelToDTO
(
departmentRepository
.
findAll
());
return
departmentMapper
.
departmentListModelToDTO
(
departmentRepository
.
findAll
());
}
}
@Override
@Override
public
DepartmentDTO
readDepartmentById
(
Long
departmentId
)
{
public
DepartmentDTO
readDepartmentById
(
Long
departmentId
)
{
return
departmentMapper
.
departmentModelToDTO
(
departmentRepository
.
findById
(
departmentId
).
get
());
return
departmentMapper
.
departmentModelToDTO
(
departmentRepository
.
findById
(
departmentId
).
get
());
}
}
@Override
@Override
...
@@ -43,10 +44,12 @@ public class DepartmentServiceImp implements DepartmentService {
...
@@ -43,10 +44,12 @@ public class DepartmentServiceImp implements DepartmentService {
return
departmentMapper
.
departmentModelToDTO
(
departmentRepository
.
findById
(
departmentId
).
get
());
return
departmentMapper
.
departmentModelToDTO
(
departmentRepository
.
findById
(
departmentId
).
get
());
}
}
@Override
@Override
public
void
deleteDepartmentById
(
Long
departmentId
)
{
public
void
deleteDepartmentById
(
Long
departmentId
)
{
departmentRepository
.
deleteById
(
departmentId
);
departmentRepository
.
deleteById
(
departmentId
);
}
}
@Override
@Override
public
DepartmentDTO
findDepartmentByName
(
String
departmentName
)
{
public
DepartmentDTO
findDepartmentByName
(
String
departmentName
)
{
...
...
src/main/java/com/school/project/service/implementation/StudentServiceImp.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
implementation
;
package
com
.
school
.
project
.
service
.
implementation
;
import
com.school.project.model.Student
;
import
com.school.project.dto.StudentDTO
;
import
com.school.project.mapper.StudentMapper
;
import
com.school.project.repository.StudentRepository
;
import
com.school.project.repository.StudentRepository
;
import
com.school.project.service.interfaces.StudentService
;
import
com.school.project.service.interfaces.StudentService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
@Service
@Service
public
class
StudentServiceImp
implements
StudentService
{
public
class
StudentServiceImp
implements
StudentService
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
StudentRepository
studentRepository
;
public
StudentRepository
studentRepository
;
@Autowired
public
StudentMapper
studentMapper
;
@Override
@Override
public
Student
saveStudent
(
Student
student
)
{
public
StudentDTO
saveStudent
(
StudentDTO
studentDTO
)
{
return
studentRepository
.
save
(
student
);
return
studentMapper
.
studentModelToDTO
(
studentRepository
.
save
(
studentMapper
.
studentDTOToModel
(
studentDTO
)));
}
}
@Override
@Override
public
List
<
Student
>
readAllStudents
()
{
public
List
<
Student
DTO
>
readAllStudents
()
{
return
student
Repository
.
findAll
(
);
return
student
Mapper
.
studentModelToDTO
(
studentRepository
.
findAll
()
);
}
}
@Override
@Override
public
Optional
<
Student
>
readStudentById
(
Long
id
)
{
public
StudentDTO
readStudentById
(
Long
id
)
{
return
studentRepository
.
findById
(
id
);
return
(
studentMapper
.
studentModelToDTO
(
studentRepository
.
findById
(
id
).
get
())
);
}
}
@Override
@Override
public
Student
updateStudentById
(
Student
student
,
Long
id
)
{
public
StudentDTO
updateStudentById
(
StudentDTO
studentDTO
,
Long
id
)
{
return
student
;
StudentDTO
dto
=
studentMapper
.
studentModelToDTO
(
studentRepository
.
findById
(
id
).
get
());
if
(
studentDTO
.
getName
()
!=
null
)
{
dto
.
setName
(
studentDTO
.
getName
());
}
if
(
studentDTO
.
getAge
()
!=
null
)
{
dto
.
setAge
(
studentDTO
.
getAge
());
}
if
(
studentDTO
.
getCourseLists
()
!=
null
)
{
dto
.
setCourseLists
(
studentDTO
.
getCourseLists
());
}
return
studentMapper
.
studentModelToDTO
(
studentRepository
.
save
(
studentMapper
.
studentDTOToModel
(
dto
)));
}
}
@Override
@Override
...
...
src/main/java/com/school/project/service/implementation/TeacherServiceImp.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
implementation
;
package
com
.
school
.
project
.
service
.
implementation
;
import
com.school.project.dto.TeacherDTO
;
import
com.school.project.mapper.TeacherMapper
;
import
com.school.project.model.Teacher
;
import
com.school.project.model.Teacher
;
import
com.school.project.repository.TeacherRepository
;
import
com.school.project.repository.TeacherRepository
;
import
com.school.project.service.interfaces.TeacherService
;
import
com.school.project.service.interfaces.TeacherService
;
...
@@ -13,26 +15,46 @@ import java.util.Optional;
...
@@ -13,26 +15,46 @@ import java.util.Optional;
public
class
TeacherServiceImp
implements
TeacherService
{
public
class
TeacherServiceImp
implements
TeacherService
{
@Autowired
(
required
=
true
)
@Autowired
(
required
=
true
)
public
TeacherRepository
teacherRepository
;
private
TeacherRepository
teacherRepository
;
@Autowired
private
TeacherMapper
teacherMapper
;
@Override
@Override
public
Teacher
saveTeacher
(
Teacher
teacher
)
{
public
TeacherDTO
saveTeacher
(
TeacherDTO
teacherDTO
)
{
return
teacherRepository
.
save
(
teacher
);
return
teacherMapper
.
teacherModelToDTo
(
teacherRepository
.
save
(
teacherMapper
.
teacherDTOToModel
(
teacherDTO
)));
}
}
@Override
@Override
public
List
<
Teacher
>
readAllTeachers
()
{
public
List
<
Teacher
DTO
>
readAllTeachers
()
{
return
teacher
Repository
.
findAll
(
);
return
teacher
Mapper
.
teacherModelToDTo
(
teacherRepository
.
findAll
()
);
}
}
@Override
@Override
public
Optional
<
Teacher
>
readTeacherById
(
Long
id
)
{
public
TeacherDTO
readTeacherById
(
Long
id
)
{
return
teacher
Repository
.
findById
(
id
);
return
teacher
Mapper
.
teacherModelToDTo
(
teacherRepository
.
findById
(
id
).
get
()
);
}
}
@Override
@Override
public
Teacher
updateTeacher
(
Teacher
teacher
,
Long
id
)
{
public
TeacherDTO
updateTeacher
(
TeacherDTO
teacherDTO
,
Long
id
)
{
return
null
;
TeacherDTO
dto
=
readTeacherById
(
id
);
if
(
teacherDTO
.
getName
()
!=
null
)
{
dto
.
setName
(
teacherDTO
.
getName
());
}
if
(
teacherDTO
.
getDegree
()
!=
null
)
{
dto
.
setDegree
(
teacherDTO
.
getDegree
());
}
if
(
teacherDTO
.
getCourseList
()
!=
null
)
{
dto
.
setCourseList
(
teacherDTO
.
getCourseList
());
}
if
(
teacherDTO
.
getDepartment
()
!=
null
)
{
dto
.
setDepartment
(
teacherDTO
.
getDepartment
());
}
return
saveTeacher
(
dto
);
}
}
@Override
@Override
...
...
src/main/java/com/school/project/service/implementation/UserServiceImpl.java
View file @
88ce2805
...
@@ -45,11 +45,11 @@ public class UserServiceImpl implements UserService, UserDetailsService {
...
@@ -45,11 +45,11 @@ public class UserServiceImpl implements UserService, UserDetailsService {
Optional
<
User
>
userEmail
=
userRepository
.
findUserByEmail
(
email
);
Optional
<
User
>
userEmail
=
userRepository
.
findUserByEmail
(
email
);
org
.
springframework
.
security
.
core
.
userdetails
.
User
springUser
=
null
;
org
.
springframework
.
security
.
core
.
userdetails
.
User
springUser
=
null
;
if
(
userEmail
.
isEmpty
())
{
if
(
userEmail
.
isEmpty
())
{
throw
new
UsernameNotFoundException
(
"User With Email="
+
email
+
"Not Founnd"
);
throw
new
UsernameNotFoundException
(
"User With Email="
+
email
+
"Not Founnd"
);
}
else
{
}
else
{
User
user
=
userEmail
.
get
();
User
user
=
userEmail
.
get
();
...
@@ -57,14 +57,14 @@ public class UserServiceImpl implements UserService, UserDetailsService {
...
@@ -57,14 +57,14 @@ public class UserServiceImpl implements UserService, UserDetailsService {
Set
<
GrantedAuthority
>
userAuthorities
=
new
HashSet
<>();
Set
<
GrantedAuthority
>
userAuthorities
=
new
HashSet
<>();
for
(
String
userRole
:
userRoles
)
{
for
(
String
userRole
:
userRoles
)
{
userAuthorities
.
add
(
new
SimpleGrantedAuthority
(
userRole
));
userAuthorities
.
add
(
new
SimpleGrantedAuthority
(
userRole
));
}
}
springUser
=
new
org
.
springframework
.
security
.
core
.
userdetails
.
User
(
springUser
=
new
org
.
springframework
.
security
.
core
.
userdetails
.
User
(
email
,
email
,
user
.
getPassword
(),
user
.
getPassword
(),
userAuthorities
);
userAuthorities
);
}
}
return
springUser
;
return
springUser
;
...
...
src/main/java/com/school/project/service/interfaces/CourseService.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
interfaces
;
package
com
.
school
.
project
.
service
.
interfaces
;
import
com.school.project.dto.CourseDTO
;
import
com.school.project.model.Course
;
import
com.school.project.model.Course
;
import
java.util.List
;
import
java.util.List
;
...
@@ -7,13 +8,13 @@ import java.util.Optional;
...
@@ -7,13 +8,13 @@ import java.util.Optional;
public
interface
CourseService
{
public
interface
CourseService
{
public
Course
saveCourse
(
Course
course
);
public
Course
DTO
saveCourse
(
CourseDTO
courseDTO
);
public
List
<
Course
>
readAllCourse
();
public
List
<
Course
DTO
>
readAllCourse
();
public
Optional
<
Course
>
readCourseById
(
Long
id
);
public
CourseDTO
readCourseById
(
Long
id
);
public
Course
updateCourseById
(
Course
course
,
Long
id
);
public
Course
DTO
updateCourseById
(
CourseDTO
courseDTO
,
Long
id
);
public
void
deleteCourseById
(
Long
id
);
public
void
deleteCourseById
(
Long
id
);
}
}
src/main/java/com/school/project/service/interfaces/DepartmentService.java
View file @
88ce2805
...
@@ -6,10 +6,15 @@ import java.util.List;
...
@@ -6,10 +6,15 @@ import java.util.List;
public
interface
DepartmentService
{
public
interface
DepartmentService
{
public
DepartmentDTO
saveDepartment
(
DepartmentDTO
departmentDTO
);
public
DepartmentDTO
saveDepartment
(
DepartmentDTO
departmentDTO
);
public
List
<
DepartmentDTO
>
readDepartment
();
public
List
<
DepartmentDTO
>
readDepartment
();
public
DepartmentDTO
readDepartmentById
(
Long
id
);
public
DepartmentDTO
readDepartmentById
(
Long
id
);
public
DepartmentDTO
updateDepartment
(
DepartmentDTO
departmentDTO
,
Long
id
);
public
DepartmentDTO
updateDepartment
(
DepartmentDTO
departmentDTO
,
Long
id
);
public
void
deleteDepartmentById
(
Long
id
);
public
void
deleteDepartmentById
(
Long
id
);
public
DepartmentDTO
findDepartmentByName
(
String
departmentName
);
public
DepartmentDTO
findDepartmentByName
(
String
departmentName
);
}
}
src/main/java/com/school/project/service/interfaces/StudentService.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
interfaces
;
package
com
.
school
.
project
.
service
.
interfaces
;
import
com.school.project.dto.StudentDTO
;
import
com.school.project.model.Student
;
import
com.school.project.model.Student
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
public
interface
StudentService
{
public
interface
StudentService
{
public
Student
saveStudent
(
Student
student
);
public
Student
DTO
saveStudent
(
StudentDTO
studentDTO
);
public
List
<
Student
>
readAllStudents
();
public
List
<
Student
DTO
>
readAllStudents
();
public
Optional
<
Student
>
readStudentById
(
Long
id
);
public
StudentDTO
readStudentById
(
Long
id
);
public
Student
updateStudentById
(
Student
student
,
Long
id
);
public
Student
DTO
updateStudentById
(
StudentDTO
studentDTO
,
Long
id
);
public
void
deleteStudentById
(
Long
id
);
public
void
deleteStudentById
(
Long
id
);
...
...
src/main/java/com/school/project/service/interfaces/TeacherService.java
View file @
88ce2805
package
com
.
school
.
project
.
service
.
interfaces
;
package
com
.
school
.
project
.
service
.
interfaces
;
import
com.school.project.dto.TeacherDTO
;
import
com.school.project.model.Teacher
;
import
com.school.project.model.Teacher
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -9,13 +10,13 @@ import java.util.Optional;
...
@@ -9,13 +10,13 @@ import java.util.Optional;
@Service
@Service
public
interface
TeacherService
{
public
interface
TeacherService
{
public
Teacher
saveTeacher
(
Teacher
teacher
);
public
Teacher
DTO
saveTeacher
(
TeacherDTO
teacherDTO
);
public
List
<
Teacher
>
readAllTeachers
();
public
List
<
Teacher
DTO
>
readAllTeachers
();
public
Optional
<
Teacher
>
readTeacherById
(
Long
id
);
public
TeacherDTO
readTeacherById
(
Long
id
);
public
Teacher
updateTeacher
(
Teacher
teacher
,
Long
id
);
public
Teacher
DTO
updateTeacher
(
TeacherDTO
teacherDTO
,
Long
id
);
public
void
deleteTeacherById
(
Long
id
);
public
void
deleteTeacherById
(
Long
id
);
...
...
src/main/resources/application.properties
View file @
88ce2805
#
#spring.jpa.hibernate.ddl-auto=update
#spring.datasource.url=jdbc:mysql://localhost:3306/schoolDataBase
#spring.datasource.username=root
#spring.datasource.password=charlie123
spring.jpa.hibernate.ddl-auto
=
update
spring.jpa.hibernate.ddl-auto
=
update
spring.datasource.url
=
jdbc:mysql://localhost:3306/school
D
ataBase
spring.datasource.url
=
jdbc:mysql://localhost:3306/school
d
ataBase
spring.datasource.username
=
root
spring.datasource.username
=
root
spring.datasource.password
=
charlie123
spring.datasource.password
=
root
spring.security.user.name
=
sulemantalpur6@gmail.com
spring.security.user.name
=
sulemantalpur6@gmail.com
spring.security.user.password
=
charlie
spring.security.user.password
=
charlie
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment