Index
All Classes and Interfaces|All Packages|Serialized Form
A
- addInterceptors(InterceptorRegistry) - Method in class edu.ucsb.cs156.rec.interceptors.RoleInterceptorConfig
 - allRecommendationRequests() - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
List all recommendation requests
 - 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
- deleteRecommendationRequest(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Delete a recommendation request
 - deleteRequestType(Long) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
 - 
Deletes a request type.
 - 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
 - 
Find all recommendation request by the professor's user id
 - findAllByRequesterId(Long) - Method in interface edu.ucsb.cs156.rec.repositories.RecommendationRequestRepository
 - findByEmail(String) - Method in interface edu.ucsb.cs156.rec.repositories.UserRepository
 - 
This method returns a User entity with a given email.
 - findByRequestType(String) - Method in interface edu.ucsb.cs156.rec.repositories.RequestTypeRepository
 - 
This method returns a RequestType entity with a given requestType string.
 - 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.
 - getAllRecommendationRequestsByProfessor(long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Get all recommendation requests by Professor id
 - getAllRecommendationRequestsByRequester(long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Get all recommendation requests by Requester id
 - getById(Long) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Get a single recommendation request by id
 - getById(Long) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
 - 
This method returns a single request type.
 - 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
 - 
This method checks if the given email belongs to a professor user by querying the user repository.
 - 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
 - 
This method checks if the given email belongs to a student user by querying the user repository.
 - 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.
 
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
 - initializeRequestTypes() - Method in class edu.ucsb.cs156.rec.services.RequestTypeService
 - 
Initializes the RequestType table with hardcoded values if they are not already present.
 - 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
- postRecommendationRequest(String, String, String) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Create a new recommendation request
 - postRequestType(String) - Method in class edu.ucsb.cs156.rec.controllers.RequestTypeController
 - 
This method creates a new request type.
 - preHandle(HttpServletRequest, HttpServletResponse, Object) - Method in class edu.ucsb.cs156.rec.interceptors.RoleInterceptor
 - 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 RecommendationRequest, i.e.
 - RecommendationRequest() - Constructor for class edu.ucsb.cs156.rec.entities.RecommendationRequest
 - RecommendationRequestController - Class in edu.ucsb.cs156.rec.controllers
 - 
This is a REST controller for RecommendationRequest
 - 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
 - RequestTypeApplicationRunner - Class in edu.ucsb.cs156.rec
 - 
This class contains a `run` method that initializes RequestType entries at application startup.
 - RequestTypeApplicationRunner(RequestTypeService) - Constructor for class edu.ucsb.cs156.rec.RequestTypeApplicationRunner
 - RequestTypeController - Class in edu.ucsb.cs156.rec.controllers
 - 
This is a REST controller for Request Types.
 - 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.
 - RequestTypeService - Class in edu.ucsb.cs156.rec.services
 - 
Service for managing RequestType entities.
 - RequestTypeService(RequestTypeRepository) - Constructor for class edu.ucsb.cs156.rec.services.RequestTypeService
 - 
Constructor for RequestTypeService with dependency injection.
 - 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
 - run(ApplicationArguments) - Method in class edu.ucsb.cs156.rec.RequestTypeApplicationRunner
 - 
Called once at application startup time.
 
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
- updateRecommendationRequest(Long, RecommendationRequest) - Method in class edu.ucsb.cs156.rec.controllers.RecommendationRequestController
 - 
Update a single recommendation request
 - updateRequestType(Long, String) - 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
 
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