Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
student-attendance-detail-service
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
Shaphen Pangburn
student-attendance-detail-service
Commits
1c0496a1
Commit
1c0496a1
authored
Apr 12, 2021
by
Kevin Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Still broken.
parent
3f565697
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
116 additions
and
29 deletions
+116
-29
AttendanceController.java
...ttendance/attendance/controller/AttendanceController.java
+4
-2
ErrorDetails.java
.../nisum/attendance/attendance/exceptions/ErrorDetails.java
+40
-0
GlobalExceptionHandler.java
...endance/attendance/exceptions/GlobalExceptionHandler.java
+16
-0
ResourceNotFoundException.java
...ance/attendance/exceptions/ResourceNotFoundException.java
+12
-0
Attendance.java
...ava/com/nisum/attendance/attendance/model/Attendance.java
+14
-10
AttendanceRepository.java
...ttendance/attendance/repository/AttendanceRepository.java
+6
-1
AttendanceService.java
...isum/attendance/attendance/service/AttendanceService.java
+14
-6
attendance.sql
attendance/src/main/resources/attendance.sql
+10
-10
No files found.
attendance/src/main/java/com/nisum/attendance/attendance/controller/AttendanceController.java
View file @
1c0496a1
package
com
.
nisum
.
attendance
.
attendance
.
controller
;
import
com.nisum.attendance.attendance.exceptions.ResourceNotFoundException
;
import
com.nisum.attendance.attendance.model.Attendance
;
import
com.nisum.attendance.attendance.repository.AttendanceRepository
;
import
com.nisum.attendance.attendance.service.AttendanceService
;
...
...
@@ -22,8 +23,9 @@ public class AttendanceController {
}
@GetMapping
(
"/attendance/{id}"
)
public
ResponseEntity
<
Attendance
>
getAttendance
(
@PathVariable
(
value
=
"id"
)
Long
attendanceId
)
{
Attendance
attendance
=
attendanceService
.
getAttendanceById
(
attendanceId
);
public
ResponseEntity
<
Attendance
>
getAttendance
(
@PathVariable
(
value
=
"id"
)
Long
attendanceId
)
throws
ResourceNotFoundException
{
Attendance
attendance
=
attendanceService
.
getAttendanceById
(
attendanceId
)
.
orElseThrow
(()
->
new
ResourceNotFoundException
(
"Attendance records by id not found."
+
attendanceId
));
return
ResponseEntity
.
ok
(
attendance
);
}
...
...
attendance/src/main/java/com/nisum/attendance/attendance/exceptions/ErrorDetails.java
0 → 100644
View file @
1c0496a1
package
com
.
nisum
.
attendance
.
attendance
.
exceptions
;
import
java.util.Date
;
public
class
ErrorDetails
{
private
Date
timeStamp
;
private
String
message
;
private
String
details
;
public
ErrorDetails
(
Date
timeStamp
,
String
message
,
String
details
)
{
this
.
timeStamp
=
timeStamp
;
this
.
message
=
message
;
this
.
details
=
details
;
}
public
Date
getTimeStamp
()
{
return
timeStamp
;
}
public
void
setTimeStamp
(
Date
timeStamp
)
{
this
.
timeStamp
=
timeStamp
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getDetails
()
{
return
details
;
}
public
void
setDetails
(
String
details
)
{
this
.
details
=
details
;
}
}
attendance/src/main/java/com/nisum/attendance/attendance/exceptions/GlobalExceptionHandler.java
0 → 100644
View file @
1c0496a1
package
com
.
nisum
.
attendance
.
attendance
.
exceptions
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.context.request.WebRequest
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
;
import
java.util.Date
;
public
class
GlobalExceptionHandler
extends
ResponseEntityExceptionHandler
{
public
ResponseEntity
<?>
resourceNotFoundException
(
ResourceNotFoundException
ex
,
WebRequest
request
)
{
ErrorDetails
errorDetails
=
new
ErrorDetails
(
new
Date
(),
ex
.
getMessage
(),
request
.
getDescription
(
false
));
return
new
ResponseEntity
<>(
errorDetails
,
HttpStatus
.
NOT_FOUND
);
}
}
attendance/src/main/java/com/nisum/attendance/attendance/exceptions/ResourceNotFoundException.java
0 → 100644
View file @
1c0496a1
package
com
.
nisum
.
attendance
.
attendance
.
exceptions
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.web.bind.annotation.ResponseStatus
;
@ResponseStatus
(
value
=
HttpStatus
.
NOT_FOUND
)
public
class
ResourceNotFoundException
extends
Exception
{
public
ResourceNotFoundException
(
String
message
)
{
super
(
message
);
}
}
attendance/src/main/java/com/nisum/attendance/attendance/model/Attendance.java
View file @
1c0496a1
...
...
@@ -12,15 +12,16 @@ import java.util.Date;
public
class
Attendance
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
I
d
;
private
Long
studentId
;
Long
i
d
;
private
String
studentEmail
;
Date
attendanceDate
;
Boolean
didAttend
;
public
Attendance
(){}
public
Attendance
(
Long
studentId
,
Date
attendanceDate
,
Boolean
didAttend
)
{
this
.
studentId
=
studentId
;
public
Attendance
(
Long
id
,
String
studentEmail
,
Date
attendanceDate
,
Boolean
didAttend
)
{
this
.
id
=
id
;
this
.
studentEmail
=
studentEmail
;
this
.
attendanceDate
=
attendanceDate
;
this
.
didAttend
=
didAttend
;
}
...
...
@@ -33,10 +34,6 @@ public class Attendance {
return
didAttend
;
}
public
Long
getStudentId
()
{
return
studentId
;
}
public
Date
getAttendanceDate
()
{
return
attendanceDate
;
}
...
...
@@ -45,8 +42,15 @@ public class Attendance {
this
.
attendanceDate
=
attendanceDate
;
}
public
Long
getId
()
{
return
Id
;
public
String
getStudentEmail
()
{
return
studentEmail
;
}
public
void
setStudentEmail
(
String
studentEmail
)
{
this
.
studentEmail
=
studentEmail
;
}
public
Long
getId
()
{
return
id
;
}
}
attendance/src/main/java/com/nisum/attendance/attendance/repository/AttendanceRepository.java
View file @
1c0496a1
...
...
@@ -2,9 +2,14 @@ package com.nisum.attendance.attendance.repository;
import
com.nisum.attendance.attendance.model.Attendance
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Optional
;
@Repository
public
interface
AttendanceRepository
extends
JpaRepository
<
Attendance
,
Long
>
{}
public
interface
AttendanceRepository
extends
JpaRepository
<
Attendance
,
Long
>
{
@Query
(
"FROM Attendance a WHERE a.studentEmail = ?1"
)
List
<
Attendance
>
findByStudentEmail
(
String
studentEmail
);
}
attendance/src/main/java/com/nisum/attendance/attendance/service/AttendanceService.java
View file @
1c0496a1
...
...
@@ -20,8 +20,12 @@ public class AttendanceService {
return
attendanceRepository
.
findAll
();
}
public
Attendance
getAttendanceById
(
Long
attendanceId
)
{
return
attendanceRepository
.
findById
(
attendanceId
).
get
();
public
List
<
Attendance
>
getAttendanceByEmail
(
String
studentEmail
)
{
return
attendanceRepository
.
findByStudentEmail
(
studentEmail
);
}
public
Optional
<
Attendance
>
getAttendanceById
(
Long
attendanceId
)
{
return
attendanceRepository
.
findById
(
attendanceId
);
}
public
Attendance
addAttendance
(
Attendance
attendance
)
{
...
...
@@ -29,9 +33,13 @@ public class AttendanceService {
}
public
Attendance
updateAttendance
(
Long
attendanceId
,
Attendance
attendanceDetails
)
{
Attendance
attendance
=
getAttendanceById
(
attendanceId
);
Optional
<
Attendance
>
attendanceOptional
=
getAttendanceById
(
attendanceId
);
if
(
attendanceOptional
.
isPresent
())
{
Attendance
attendance
=
attendanceOptional
.
get
();
attendance
.
setAttendanceDate
(
attendanceDetails
.
getAttendanceDate
());
attendance
.
setDidAttend
(
attendanceDetails
.
getDidAttend
());
return
attendanceRepository
.
save
(
attendance
);
}
return
null
;
}
}
attendance/src/main/resources/attendance.sql
View file @
1c0496a1
...
...
@@ -2,18 +2,18 @@ DROP TABLE IF EXISTS ATTENDANCE;
CREATE
TABLE
ATTENDANCE
(
ID
INT
AUTO_INCREMENT
PRIMARY
KEY
,
STUDENT_
ID
INT
NOT
NULL
,
STUDENT_
EMAIL
VARCHAR
(
255
)
NOT
NULL
,
ATTENDANCE_DATE
DATE
NOT
NULL
,
DID_ATTEND
BOOLEAN
DEFAULT
FALSE
);
INSERT
INTO
ATTENDANCE
VALUES
(
1
,
10
,
'0001-02-01'
,
TRUE
),
(
2
,
20
,
'0001-02-02'
,
FALSE
),
(
3
,
30
,
'0001-02-03'
,
TRUE
),
(
4
,
30
,
'0001-02-04'
,
TRUE
),
(
5
,
20
,
'0001-02-03'
,
TRUE
),
(
6
,
10
,
'0001-02-02'
,
FALSE
),
(
7
,
10
,
'0001-02-03'
,
TRUE
),
(
8
,
30
,
'0001-02-05'
,
TRUE
),
(
9
,
10
,
'0001-02-04'
,
FALSE
);
\ No newline at end of file
(
1
,
'a@a.com'
,
'0001-02-01'
,
TRUE
),
(
2
,
'b@b.com'
,
'0001-02-02'
,
FALSE
),
(
3
,
'c@c.com'
,
'0001-02-03'
,
TRUE
),
(
3
,
'c@c.com'
,
'0001-02-04'
,
TRUE
),
(
2
,
'b@b.com'
,
'0001-02-03'
,
TRUE
),
(
1
,
'a@a.com'
,
'0001-02-02'
,
FALSE
),
(
1
,
'a@a.com'
,
'0001-02-03'
,
TRUE
),
(
3
,
'c@c.com'
,
'0001-02-05'
,
TRUE
),
(
1
,
'a@a.com'
,
'0001-02-04'
,
FALSE
);
\ No newline at end of file
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