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
 - deleteRecommendationRequestAsProfessor(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
The professor can delete incoming RecommendationRequests
 - 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.
 - findByIdAndProfessor(long, User) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
 - 
This method returns an iterable of recommendation requests with given professor_id.
 - 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.
 - getAllRecommendationRequests() - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
This method returns a list of all recommendation requests viewable by an admin user.
 - 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.
 - 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
 - githubUrl(String, String) - Static method in class edu.ucsb.cs156.rec.services.SystemInfoServiceImpl
 - 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
 
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