Index
All Classes and Interfaces|All Packages|Serialized Form
A
- addInterceptors(InterceptorRegistry) - Method in class edu.ucsb.cs156.rec.interceptors.RoleInterceptorConfig
- allProfessorRecommendationRequests() - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
This method returns a list of all Recommendation Requests intended for current user who is a professor.
- allProfessors() - Method in class edu.ucsb.cs156.rec.controllers.UsersController
-
This method returns a list of all Recommendation Requests requested by current student.
- allRequesterRecommendationRequests() - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
This method returns a list of all Recommendation Requests requested by current student.
- allRequestTypes() - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
-
This method returns a list of all Request Types.
- ApiController - Class in edu.ucsb.cs156.rec.controllers
-
This is an abstract class that provides common functionality for all API controllers.
- ApiController() - Constructor for class edu.ucsb.cs156.rec.controllers.ApiController
C
- csrf() - Method in class edu.ucsb.cs156.rec.controllers.FrontendController
-
When not in development, the CSRF endpoint is not used, so return 404
- csrf(CsrfToken) - Method in class edu.ucsb.cs156.rec.controllers.CSRFController
-
This method returns a CSRF token.
- CSRFController - Class in edu.ucsb.cs156.rec.controllers
-
The CSRF controller is used to get a CSRF token.
- CSRFController() - Constructor for class edu.ucsb.cs156.rec.controllers.CSRFController
- CurrentUser - Class in edu.ucsb.cs156.rec.models
-
This is a model class that represents the current user.
- CurrentUser() - Constructor for class edu.ucsb.cs156.rec.models.CurrentUser
- CurrentUserService - Class in edu.ucsb.cs156.rec.services
-
This is a service that provides information about the current user.
- CurrentUserService() - Constructor for class edu.ucsb.cs156.rec.services.CurrentUserService
- CurrentUserServiceImpl - Class in edu.ucsb.cs156.rec.services
-
This is a service that provides information about the current user.
- CurrentUserServiceImpl() - Constructor for class edu.ucsb.cs156.rec.services.CurrentUserServiceImpl
D
- deleteRecommendationRequestAsAdmin(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
Any admin can delete a RecommendationRequest
- deleteRecommendationRequestAsUser(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
The user who posted a RecommendationRequest can delete their RecommendationRequest
- deleteRequestType(Long) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
-
Delete a UCSBDate
- deleteUser_Admin(Long) - Method in class edu.ucsb.cs156.rec.controllers.UsersController
- developmentApplicationRunner() - Method in class edu.ucsb.cs156.rec.ExampleApplication
-
Hook that can be used to set up any services needed for development
E
- edu.ucsb.cs156.rec - package edu.ucsb.cs156.rec
- edu.ucsb.cs156.rec.aop - package edu.ucsb.cs156.rec.aop
- edu.ucsb.cs156.rec.config - package edu.ucsb.cs156.rec.config
- edu.ucsb.cs156.rec.controllers - package edu.ucsb.cs156.rec.controllers
- edu.ucsb.cs156.rec.entities - package edu.ucsb.cs156.rec.entities
- edu.ucsb.cs156.rec.errors - package edu.ucsb.cs156.rec.errors
- edu.ucsb.cs156.rec.interceptors - package edu.ucsb.cs156.rec.interceptors
- edu.ucsb.cs156.rec.models - package edu.ucsb.cs156.rec.models
- edu.ucsb.cs156.rec.repositories - package edu.ucsb.cs156.rec.repositories
- edu.ucsb.cs156.rec.services - package edu.ucsb.cs156.rec.services
- edu.ucsb.cs156.rec.services.wiremock - package edu.ucsb.cs156.rec.services.wiremock
- EntityNotFoundException - Exception Class in edu.ucsb.cs156.rec.errors
-
This is an error class for a custom RuntimeException in Java that is used to indicate when an entity of a specific type with a given ID is not found.
- EntityNotFoundException(Class<?>, Object) - Constructor for exception class edu.ucsb.cs156.rec.errors.EntityNotFoundException
-
Constructor for the exception
- ExampleApplication - Class in edu.ucsb.cs156.rec
-
The ExampleApplication class is the main entry point for the application.
- ExampleApplication() - Constructor for class edu.ucsb.cs156.rec.ExampleApplication
F
- filterChain(HttpSecurity) - Method in class edu.ucsb.cs156.rec.config.SecurityConfig
-
The `filterChain` method in this Java code configures various security settings for an HTTP request, including authorization, exception handling, OAuth2 login, CSRF protection, and logout behavior.
- findAllByProfessorId(Long) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
-
This method returns an iterable of recommendation requests with given professor_id.
- findAllByProfessorIdAndStatus(Long, String) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
-
Find all recommendation requests by professor ID and status.
- findAllByRequesterId(Long) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
-
This method returns an iterable of recommendation requests with given requester_id.
- findByEmail(String) - Method in interface edu.ucsb.cs156.rec.repositories.UserRepository
-
This method returns a User entity with a given email.
- findByIdAndRequester(long, User) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
- findByRequestType(String) - Method in interface edu.ucsb.cs156.rec.repositories.RequestTypeRepository
-
This method returns all RequestType entities with a given type.
- FrontendController - Class in edu.ucsb.cs156.rec.controllers
-
The FrontendController is used to serve the frontend of the application.
- FrontendController() - Constructor for class edu.ucsb.cs156.rec.controllers.FrontendController
- FrontendProxyController - Class in edu.ucsb.cs156.rec.controllers
-
The FrontendProxyController is used to proxy requests to the frontend of the application.
- FrontendProxyController() - Constructor for class edu.ucsb.cs156.rec.controllers.FrontendProxyController
G
- genericMessage(String) - Method in class edu.ucsb.cs156.rec.controllers.ApiController
-
This method returns a generic message.
- getAdmin(String) - Method in class edu.ucsb.cs156.rec.config.SecurityConfig
-
This method checks if the given email belongs to an admin user either from a predefined list or by querying the user repository.
- getById(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
This method returns a single recommendation request where the current user is either the requester or the professor.
- getById(Long) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
-
Get a single request type by id
- getCurrentUser() - Method in class edu.ucsb.cs156.rec.controllers.ApiController
-
This method returns the current user.
- getCurrentUser() - Method in class edu.ucsb.cs156.rec.controllers.UserInfoController
-
This method returns the current user.
- getCurrentUser() - Method in class edu.ucsb.cs156.rec.services.CurrentUserService
-
This method returns the current user as a CurrentUser object
- getCurrentUser() - Method in class edu.ucsb.cs156.rec.services.CurrentUserServiceImpl
-
This method returns the current user as a User object.
- getGrantedAuthorities() - Method in class edu.ucsb.cs156.rec.services.GrantedAuthoritiesService
-
The function retrieves and logs the granted authorities from the current security context in a Java application.
- getOAuth2AuthenticatedUser(SecurityContext, Authentication) - Method in class edu.ucsb.cs156.rec.services.CurrentUserServiceImpl
-
This method obtains the current user that is logged in with OAuth2, if any.
- getProfessor(String) - Method in class edu.ucsb.cs156.rec.config.SecurityConfig
- getRecommendationRequestByStatusForProfessor(String) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
This method returns a list of recommendation requests with specified status for a professor.
- getRoles() - Method in class edu.ucsb.cs156.rec.services.CurrentUserService
-
This method returns the roles of the current user.
- getRoles() - Method in class edu.ucsb.cs156.rec.services.CurrentUserServiceImpl
-
This method returns the roles of the current user.
- getStudent(String) - Method in class edu.ucsb.cs156.rec.config.SecurityConfig
- getSystemInfo() - Method in class edu.ucsb.cs156.rec.controllers.SystemInfoController
-
This method returns the system information.
- getSystemInfo() - Method in class edu.ucsb.cs156.rec.services.SystemInfoService
-
This method returns the system information.
- getSystemInfo() - Method in class edu.ucsb.cs156.rec.services.SystemInfoServiceImpl
-
This method returns the system information.
- getUser() - Method in class edu.ucsb.cs156.rec.services.CurrentUserService
-
This method returns the current user as a User object.
- getUser() - Method in class edu.ucsb.cs156.rec.services.CurrentUserServiceImpl
-
This method returns the current user as a User object.
- getWiremockServer() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockService
-
This method returns the wiremockServer
- getWiremockServer() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceDummy
-
Dummy call for getWiremockServer()
- getWiremockServer() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceImpl
-
This method returns the wiremockServer
- GrantedAuthoritiesService - Class in edu.ucsb.cs156.rec.services
-
The is a service that retrieves and logs the granted authorities for the current user's authentication.
- GrantedAuthoritiesService() - Constructor for class edu.ucsb.cs156.rec.services.GrantedAuthoritiesService
H
- handleGenericException(Throwable) - Method in class edu.ucsb.cs156.rec.controllers.ApiController
-
This method handles the EntityNotFoundException.
- handleIllegalArgumentException(Throwable) - Method in class edu.ucsb.cs156.rec.controllers.ApiController
-
This method handles the IllegalArgumentException.
I
- index() - Method in class edu.ucsb.cs156.rec.controllers.FrontendController
-
Serve home page of application
- init() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockService
-
This method initializes the WireMockServer
- init() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceDummy
-
Dummy call to init
- init() - Method in class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceImpl
-
This method initializes the WireMockServer
- isLoggedIn() - Method in class edu.ucsb.cs156.rec.services.CurrentUserService
-
This method returns whether the current user is logged in.
L
- logControllers(JoinPoint) - Method in class edu.ucsb.cs156.rec.aop.LoggingAspect
-
This method is called before any controller method that is annotated with
@RequestMapping
,@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
, or@PatchMapping
. - LoggingAspect - Class in edu.ucsb.cs156.rec.aop
-
This class is an Aspect that logs all invocations of controller methods that are annotated with
@RequestMapping
,@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
, or@PatchMapping
. - LoggingAspect() - Constructor for class edu.ucsb.cs156.rec.aop.LoggingAspect
M
- main(String[]) - Static method in class edu.ucsb.cs156.rec.ExampleApplication
-
The main method is the entry point for the application.
P
- postRecommendationRequests(Long, String, String, LocalDateTime) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
This method creates a new Recommendation Request.
- postRequestType(String) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
-
Create a new request type
- preHandle(HttpServletRequest, HttpServletResponse, Object) - Method in class edu.ucsb.cs156.rec.interceptors.RoleInterceptor
- professorIsTrue() - Method in interface edu.ucsb.cs156.rec.repositories.UserRepository
-
This method returns a an iterable of User entities that have professor=true.
- proxy(ProxyExchange<byte[]>) - Method in class edu.ucsb.cs156.rec.controllers.FrontendProxyController
-
This method proxies requests to the frontend server.
R
- RecommendationRequest - Class in edu.ucsb.cs156.rec.entities
-
This is a JPA entity that represents a Recommendation Request
- RecommendationRequest() - Constructor for class edu.ucsb.cs156.rec.entities.RecommendationRequest
- RecommendationRequestController - Class in edu.ucsb.cs156.rec.controllers
- RecommendationRequestController() - Constructor for class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
- RecommendationRequestRepository - Interface in edu.ucsb.cs156.rec.repositories
-
The RecommendationRequestRepository is a repository for RecommendationRequest entities.
- RequestType - Class in edu.ucsb.cs156.rec.entities
-
This is a JPA entity that represents a Request Type.
- RequestType() - Constructor for class edu.ucsb.cs156.rec.entities.RequestType
- RequestTypeController - Class in edu.ucsb.cs156.rec.controllers
-
This is a REST controller for RequestType
- RequestTypeController() - Constructor for class edu.ucsb.cs156.rec.controllers.RequestTypeController
- RequestTypeRepository - Interface in edu.ucsb.cs156.rec.repositories
-
The RequestTypeRepository is a repository for RequestType entities.
- RoleInterceptor - Class in edu.ucsb.cs156.rec.interceptors
- RoleInterceptor() - Constructor for class edu.ucsb.cs156.rec.interceptors.RoleInterceptor
- RoleInterceptorConfig - Class in edu.ucsb.cs156.rec.interceptors
- RoleInterceptorConfig() - Constructor for class edu.ucsb.cs156.rec.interceptors.RoleInterceptorConfig
S
- SecurityConfig - Class in edu.ucsb.cs156.rec.config
-
The `SecurityConfig` class in Java configures web security with OAuth2 login, CSRF protection, and role-based authorization based on user email addresses.
- SecurityConfig() - Constructor for class edu.ucsb.cs156.rec.config.SecurityConfig
- setupOauthMocks(Stubbing, boolean) - Static method in class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceImpl
-
This method sets up the necessary mocks for authentication
- SystemInfo - Class in edu.ucsb.cs156.rec.models
-
This is a model class that represents system information.
- SystemInfo() - Constructor for class edu.ucsb.cs156.rec.models.SystemInfo
- SystemInfoController - Class in edu.ucsb.cs156.rec.controllers
-
This is a REST controller for getting information about the system.
- SystemInfoController() - Constructor for class edu.ucsb.cs156.rec.controllers.SystemInfoController
- SystemInfoService - Class in edu.ucsb.cs156.rec.services
-
The SystemInfoService is a service that provides global information about the system and makes it available to the frontend.
- SystemInfoService() - Constructor for class edu.ucsb.cs156.rec.services.SystemInfoService
- SystemInfoServiceImpl - Class in edu.ucsb.cs156.rec.services
-
This is a service for getting information about the system.
- SystemInfoServiceImpl() - Constructor for class edu.ucsb.cs156.rec.services.SystemInfoServiceImpl
T
- toggleAdmin(Long) - Method in class edu.ucsb.cs156.rec.controllers.UsersController
- toggleProfessor(Long) - Method in class edu.ucsb.cs156.rec.controllers.UsersController
- toggleStudent(Long) - Method in class edu.ucsb.cs156.rec.controllers.UsersController
U
- updateRecommendationRequestAsAdmin(Long, RecommendationRequest) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
Prof can update a Recommendation Request's status
- updateRecommendationRequestAsUser(Long, RecommendationRequest) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
-
The user who posted a RecommendationRequest can update their RecommendationRequest
- updateRequestType(Long, RequestType) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
-
Update a single request type
- User - Class in edu.ucsb.cs156.rec.entities
-
This is a JPA entity that represents a user.
- User() - Constructor for class edu.ucsb.cs156.rec.entities.User
- UserInfoController - Class in edu.ucsb.cs156.rec.controllers
-
This is a REST controller for getting information about the current user.
- UserInfoController() - Constructor for class edu.ucsb.cs156.rec.controllers.UserInfoController
- UserRepository - Interface in edu.ucsb.cs156.rec.repositories
-
The UserRepository is a repository for User entities.
- users() - Method in class edu.ucsb.cs156.rec.controllers.UsersController
-
This method returns a list of all users.
- users(Long) - Method in class edu.ucsb.cs156.rec.controllers.UsersController
- UsersController - Class in edu.ucsb.cs156.rec.controllers
-
This is a REST controller for getting information about the users.
- UsersController() - Constructor for class edu.ucsb.cs156.rec.controllers.UsersController
- utcDateTimeProvider() - Method in class edu.ucsb.cs156.rec.ExampleApplication
W
- webSecurityCustomizer() - Method in class edu.ucsb.cs156.rec.config.SecurityConfig
-
The `webSecurityCustomizer` method is used to configure web security in Java, specifically ignoring requests to the "/h2-console/**" path.
- wiremockApplicationRunner() - Method in class edu.ucsb.cs156.rec.ExampleApplication
-
When using the wiremock profile, this method will call the code needed to set up the wiremock services
- WiremockService - Class in edu.ucsb.cs156.rec.services.wiremock
-
This is a service for mocking authentication using wiremock This class relies on property values.
- WiremockService() - Constructor for class edu.ucsb.cs156.rec.services.wiremock.WiremockService
- WiremockServiceDummy - Class in edu.ucsb.cs156.rec.services.wiremock
-
This is a dummy service for profiles besides wiremock where we do not want the mocked authentication, but instead real oauth authentication
- WiremockServiceDummy() - Constructor for class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceDummy
- WiremockServiceImpl - Class in edu.ucsb.cs156.rec.services.wiremock
-
This is a service for mocking authentication using wiremock This class relies on property values.
- WiremockServiceImpl() - Constructor for class edu.ucsb.cs156.rec.services.wiremock.WiremockServiceImpl
All Classes and Interfaces|All Packages|Serialized Form