From a67dc377bb5de542c0f213eec9957372fc14c82e Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Mon, 24 Jun 2019 12:24:53 +0200 Subject: [PATCH] Adjust imports to conform with style conventions The following conventions have been applied: * Import order: static packages -> other packages -> ARSnova packages Rule: (imports) CustomImportOrder * New line between import package groups Rule: (imports) CustomImportOrder * All packages are imported explicitly (no wildcard imports) Rule: (imports) AvoidStarImport * New line between license comment and package line Rule: (whitespace) EmptyLineSeparator --- .../de/thm/arsnova/cache/CacheBuster.java | 1 + .../de/thm/arsnova/cache/CacheBusterImpl.java | 8 +-- .../arsnova/cache/ScheduledCacheBuster.java | 1 + .../de/thm/arsnova/cache/package-info.java | 1 + .../java/de/thm/arsnova/config/AppConfig.java | 37 +++++++------- .../de/thm/arsnova/config/AppInitializer.java | 6 +-- .../thm/arsnova/config/PersistenceConfig.java | 18 ++++--- .../de/thm/arsnova/config/SecurityConfig.java | 29 +++++------ .../arsnova/config/SecurityInitializer.java | 1 + .../thm/arsnova/config/WebSocketConfig.java | 3 +- .../de/thm/arsnova/config/package-info.java | 1 + .../controller/AbstractController.java | 1 + .../controller/AbstractEntityController.java | 38 ++++++++------ .../arsnova/controller/AnswerController.java | 6 ++- .../controller/AuthenticationController.java | 10 ++-- .../arsnova/controller/CommentController.java | 6 ++- .../controller/ConfigurationController.java | 8 +-- .../arsnova/controller/ContentController.java | 10 ++-- .../ControllerExceptionHandler.java | 25 +++++----- .../controller/ControllerExceptionHelper.java | 6 +-- .../DefaultControllerExceptionHandler.java | 6 +-- .../controller/JsonViewControllerAdvice.java | 9 ++-- .../arsnova/controller/MotdController.java | 6 ++- .../controller/PaginationController.java | 1 + .../arsnova/controller/RoomController.java | 7 +-- .../arsnova/controller/UserController.java | 16 +++--- .../arsnova/controller/WelcomeController.java | 23 +++++---- .../thm/arsnova/controller/package-info.java | 1 + .../v2/AuthenticationController.java | 37 +++++++------- .../controller/v2/CommentController.java | 29 +++++------ .../controller/v2/ContentController.java | 49 +++++++++--------- .../controller/v2/CourseController.java | 25 +++++----- .../controller/v2/FeedbackController.java | 20 ++++---- .../controller/v2/LegacyController.java | 10 ++-- .../arsnova/controller/v2/MotdController.java | 31 ++++++------ .../arsnova/controller/v2/RoomController.java | 47 ++++++++--------- .../controller/v2/SocketController.java | 17 ++++--- .../controller/v2/StatisticsController.java | 12 +++-- .../arsnova/controller/v2/UserController.java | 11 ++-- .../thm/arsnova/event/AfterCreationEvent.java | 1 + .../thm/arsnova/event/AfterDeletionEvent.java | 1 + .../arsnova/event/AfterFullUpdateEvent.java | 1 + .../de/thm/arsnova/event/AfterPatchEvent.java | 5 +- .../thm/arsnova/event/AfterUpdateEvent.java | 1 + .../de/thm/arsnova/event/ArsnovaEvent.java | 1 + .../arsnova/event/BeforeCreationEvent.java | 1 + .../arsnova/event/BeforeDeletionEvent.java | 1 + .../arsnova/event/BeforeFullUpdateEvent.java | 1 + .../thm/arsnova/event/BeforePatchEvent.java | 5 +- .../thm/arsnova/event/BeforeUpdateEvent.java | 1 + .../thm/arsnova/event/ChangeScoreEvent.java | 1 + .../java/de/thm/arsnova/event/CrudEvent.java | 4 +- .../event/DeleteFeedbackForRoomsEvent.java | 5 +- .../arsnova/event/FlipFlashcardsEvent.java | 1 + .../thm/arsnova/event/NewFeedbackEvent.java | 1 + .../java/de/thm/arsnova/event/RoomEvent.java | 1 + .../thm/arsnova/event/StateChangeEvent.java | 5 +- .../arsnova/event/StateEventDispatcher.java | 11 ++-- .../de/thm/arsnova/event/package-info.java | 1 + .../java/de/thm/arsnova/model/Answer.java | 9 ++-- .../thm/arsnova/model/AnswerStatistics.java | 7 +-- .../java/de/thm/arsnova/model/Attachment.java | 5 +- .../java/de/thm/arsnova/model/Authorize.java | 2 + .../de/thm/arsnova/model/ChoiceAnswer.java | 5 +- .../arsnova/model/ChoiceQuestionContent.java | 7 +-- .../arsnova/model/ClientAuthentication.java | 4 +- .../java/de/thm/arsnova/model/Comment.java | 7 +-- .../java/de/thm/arsnova/model/Content.java | 9 ++-- .../java/de/thm/arsnova/model/Entity.java | 7 +-- .../java/de/thm/arsnova/model/Feedback.java | 5 +- .../java/de/thm/arsnova/model/FindQuery.java | 5 +- .../java/de/thm/arsnova/model/LogEntry.java | 5 +- .../thm/arsnova/model/LoginCredentials.java | 4 +- .../de/thm/arsnova/model/MigrationState.java | 5 +- src/main/java/de/thm/arsnova/model/Motd.java | 7 +-- src/main/java/de/thm/arsnova/model/Room.java | 7 +-- .../de/thm/arsnova/model/RoomStatistics.java | 4 +- .../de/thm/arsnova/model/ScoreOptions.java | 5 +- .../thm/arsnova/model/ServiceDescription.java | 2 + .../java/de/thm/arsnova/model/Statistics.java | 4 +- .../java/de/thm/arsnova/model/TextAnswer.java | 5 +- .../de/thm/arsnova/model/UserProfile.java | 7 +-- .../model/migration/FromV2Migrator.java | 24 ++++++--- .../arsnova/model/migration/ToV2Migrator.java | 30 ++++++++--- .../arsnova/model/migration/v2/Answer.java | 4 +- .../model/migration/v2/AnswerOption.java | 5 +- .../migration/v2/ClientAuthentication.java | 11 ++-- .../arsnova/model/migration/v2/Comment.java | 4 +- .../migration/v2/CommentReadingCount.java | 4 +- .../arsnova/model/migration/v2/Content.java | 5 +- .../arsnova/model/migration/v2/DbUser.java | 2 + .../arsnova/model/migration/v2/Entity.java | 2 + .../arsnova/model/migration/v2/LogEntry.java | 5 +- .../arsnova/model/migration/v2/LoggedIn.java | 5 +- .../thm/arsnova/model/migration/v2/Motd.java | 5 +- .../arsnova/model/migration/v2/MotdList.java | 4 +- .../thm/arsnova/model/migration/v2/Room.java | 6 ++- .../model/migration/v2/RoomFeature.java | 5 +- .../arsnova/model/migration/v2/RoomInfo.java | 5 +- .../model/migration/v2/VisitedRoom.java | 4 +- .../de/thm/arsnova/model/package-info.java | 1 + .../serialization/CouchDbDocumentMixIn.java | 2 + .../serialization/CouchDbDocumentModule.java | 2 + .../serialization/CouchDbDocumentV2MixIn.java | 2 + .../CouchDbObjectMapperFactory.java | 1 + .../CouchDbTypeFieldConverter.java | 2 + .../CouchDbTypeFieldV2Converter.java | 7 +-- .../FormatAnswerTypeIdResolver.java | 5 +- .../FormatContentTypeIdResolver.java | 5 +- .../thm/arsnova/model/serialization/View.java | 1 + .../transport/ImportExportContainer.java | 13 ++--- .../model/transport/ScoreStatistics.java | 4 +- .../arsnova/model/transport/package-info.java | 1 + .../java/de/thm/arsnova/package-info.java | 1 + .../arsnova/persistence/AnswerRepository.java | 5 +- .../persistence/CommentRepository.java | 4 +- .../persistence/ContentRepository.java | 4 +- .../arsnova/persistence/CrudRepository.java | 1 + .../persistence/LogEntryRepository.java | 5 +- .../arsnova/persistence/MotdRepository.java | 5 +- .../arsnova/persistence/RoomRepository.java | 5 +- .../SessionStatisticsRepository.java | 1 + .../persistence/StatisticsRepository.java | 1 + .../arsnova/persistence/UserRepository.java | 5 +- .../couchdb/CouchDbAnswerRepository.java | 21 ++++---- .../couchdb/CouchDbAttachmentRepository.java | 4 +- .../couchdb/CouchDbCommentRepository.java | 11 ++-- .../couchdb/CouchDbContentRepository.java | 21 ++++---- .../couchdb/CouchDbCrudRepository.java | 17 ++++--- .../couchdb/CouchDbInitializer.java | 31 ++++++------ .../couchdb/CouchDbLogEntryRepository.java | 7 +-- .../couchdb/CouchDbMotdRepository.java | 9 ++-- .../couchdb/CouchDbRoomRepository.java | 33 ++++++------ .../CouchDbSessionStatisticsRepository.java | 8 +-- .../couchdb/CouchDbStatisticsRepository.java | 9 ++-- .../couchdb/CouchDbUserRepository.java | 9 ++-- .../MigrateFromLegacyCondition.java | 1 + .../couchdb/migrations/Migration.java | 1 + .../couchdb/migrations/MigrationExecutor.java | 13 ++--- .../couchdb/migrations/V2ToV3Migration.java | 33 ++++++------ .../support/MangoCouchDbConnector.java | 15 +++--- .../support/MangoQueryResultParser.java | 8 +-- .../couchdb/support/MangoResponseHandler.java | 4 +- .../couchdb/support/PagedMangoResponse.java | 1 + .../ApplicationPermissionEvaluator.java | 25 +++++----- .../security/CasLogoutSuccessHandler.java | 10 ++-- .../security/CasUserDetailsService.java | 9 ++-- .../security/CustomLdapUserDetailsMapper.java | 9 ++-- .../security/GuestUserDetailsService.java | 9 ++-- .../LoginAuthenticationFailureHandler.java | 12 ++--- .../LoginAuthenticationSucessHandler.java | 4 +- .../RegisteredUserDetailsService.java | 11 ++-- .../java/de/thm/arsnova/security/User.java | 7 +-- .../jwt/JwtAuthenticationProvider.java | 4 +- .../thm/arsnova/security/jwt/JwtService.java | 17 ++++--- .../de/thm/arsnova/security/jwt/JwtToken.java | 7 +-- .../arsnova/security/jwt/JwtTokenFilter.java | 14 +++--- .../arsnova/security/pac4j/OAuthToken.java | 5 +- .../pac4j/OauthAuthenticationProvider.java | 4 +- .../security/pac4j/OauthCallbackFilter.java | 10 ++-- .../pac4j/OauthUserDetailsService.java | 11 ++-- .../de/thm/arsnova/security/package-info.java | 1 + .../de/thm/arsnova/service/AnswerService.java | 7 +-- .../arsnova/service/AnswerServiceImpl.java | 37 +++++++------- .../arsnova/service/AttachmentService.java | 4 +- .../service/AttachmentServiceImpl.java | 6 ++- .../service/CommentFindQueryService.java | 9 ++-- .../thm/arsnova/service/CommentService.java | 7 +-- .../arsnova/service/CommentServiceImpl.java | 25 +++++----- .../service/ContentFindQueryService.java | 9 ++-- .../thm/arsnova/service/ContentService.java | 5 +- .../arsnova/service/ContentServiceImpl.java | 39 ++++++++------- .../service/DefaultEntityServiceImpl.java | 30 +++++------ .../de/thm/arsnova/service/EntityService.java | 9 ++-- .../thm/arsnova/service/FeedbackService.java | 1 + .../arsnova/service/FeedbackServiceImpl.java | 19 ++++--- .../service/FeedbackStorageService.java | 7 +-- .../service/FeedbackStorageServiceImpl.java | 17 ++++--- .../thm/arsnova/service/FindQueryService.java | 5 +- .../de/thm/arsnova/service/MotdService.java | 5 +- .../thm/arsnova/service/MotdServiceImpl.java | 17 ++++--- .../service/ResponseProviderService.java | 1 + .../service/ResponseProviderServiceImpl.java | 4 +- .../arsnova/service/RoomFindQueryService.java | 11 ++-- .../de/thm/arsnova/service/RoomService.java | 9 ++-- .../thm/arsnova/service/RoomServiceImpl.java | 47 ++++++++--------- .../arsnova/service/StatisticsService.java | 1 + .../service/StatisticsServiceImpl.java | 6 ++- .../de/thm/arsnova/service/StatusService.java | 1 + .../arsnova/service/StatusServiceImpl.java | 4 +- .../de/thm/arsnova/service/TimerService.java | 1 + .../thm/arsnova/service/TimerServiceImpl.java | 17 ++++--- .../arsnova/service/UserFindQueryService.java | 9 ++-- .../de/thm/arsnova/service/UserService.java | 15 +++--- .../thm/arsnova/service/UserServiceImpl.java | 50 +++++++++++-------- .../de/thm/arsnova/service/package-info.java | 1 + .../score/QuestionBasedScoreCalculator.java | 1 + .../arsnova/service/score/QuestionScore.java | 1 + .../de/thm/arsnova/service/score/Score.java | 1 + .../score/ScoreBasedScoreCalculator.java | 1 + .../service/score/ScoreCalculator.java | 1 + .../service/score/ScoreCalculatorFactory.java | 1 + .../score/ScoreCalculatorFactoryImpl.java | 14 +++--- .../thm/arsnova/service/score/UserScore.java | 1 + .../service/score/VariantScoreCalculator.java | 4 +- .../java/de/thm/arsnova/util/ImageUtils.java | 19 +++---- .../arsnova/util/PaginationListDecorator.java | 1 + .../java/de/thm/arsnova/web/CacheControl.java | 1 + .../web/CacheControlInterceptorHandler.java | 6 +-- .../java/de/thm/arsnova/web/CorsFilter.java | 4 +- .../de/thm/arsnova/web/DeprecatedApi.java | 1 + .../web/DeprecatedApiInterceptorHandler.java | 6 +-- .../thm/arsnova/web/InternalEntityAspect.java | 4 +- .../arsnova/web/MaintenanceModeFilter.java | 11 ++-- .../java/de/thm/arsnova/web/Pagination.java | 1 + ...hApiVersionContentNegotiationStrategy.java | 13 ++--- .../java/de/thm/arsnova/web/RangeAspect.java | 17 ++++--- .../web/ResponseInterceptorHandler.java | 7 +-- .../web/V2ContentTypeOverrideFilter.java | 23 +++++---- .../arsnova/web/exceptions/package-info.java | 1 + .../java/de/thm/arsnova/web/package-info.java | 1 + .../websocket/ArsnovaSocketioServer.java | 1 + .../websocket/ArsnovaSocketioServerImpl.java | 43 ++++++++-------- .../WebsocketAuthenticationAspect.java | 11 ++-- .../AuthChannelInterceptorAdapter.java | 8 +-- .../handler/FeedbackCommandHandler.java | 10 ++-- .../websocket/handler/FeedbackHandler.java | 5 +- .../arsnova/websocket/message/Content.java | 1 + .../arsnova/websocket/message/Feedback.java | 1 + .../thm/arsnova/websocket/message/Room.java | 1 + .../websocket/message/package-info.java | 1 + .../thm/arsnova/websocket/package-info.java | 1 + .../de/thm/arsnova/config/AppConfigTest.java | 6 ++- .../de/thm/arsnova/config/TestAppConfig.java | 10 ++-- .../arsnova/config/TestPersistanceConfig.java | 13 ++++- .../arsnova/config/TestSecurityConfig.java | 4 +- .../controller/AbstractControllerTest.java | 17 ++++--- .../v2/AuthenticationControllerTest.java | 16 +++--- .../controller/v2/CourseControllerTest.java | 12 +++-- .../event/StateEventDispatcherTest.java | 43 ++++++++-------- .../de/thm/arsnova/model/ContentTest.java | 11 ++-- .../java/de/thm/arsnova/model/EntityTest.java | 14 +++--- .../de/thm/arsnova/model/FeedbackTest.java | 8 +-- .../java/de/thm/arsnova/model/TestClient.java | 7 +-- .../model/migration/FromV2MigratorTest.java | 25 +++++----- .../model/migration/ToV2MigratorTest.java | 29 +++++------ .../service/DefaultEntityServiceImplTest.java | 42 ++++++++-------- .../arsnova/service/FeedbackServiceTest.java | 32 ++++++------ .../thm/arsnova/service/StubUserService.java | 13 ++--- .../thm/arsnova/service/UserServiceTest.java | 43 ++++++++-------- .../QuestionBasedScoreCalculatorTest.java | 14 +++--- .../score/ScoreBasedScoreCalculatorTest.java | 12 +++-- .../test/context/support/WithMockUser.java | 7 +-- .../WithMockUserSecurityContextFactory.java | 9 ++-- .../de/thm/arsnova/util/ImageUtilsTest.java | 21 +++++--- .../handler/FeedbackCommandHandlerTest.java | 17 ++++--- .../handler/FeedbackHandlerTest.java | 9 ++-- 257 files changed, 1416 insertions(+), 1064 deletions(-) diff --git a/src/main/java/de/thm/arsnova/cache/CacheBuster.java b/src/main/java/de/thm/arsnova/cache/CacheBuster.java index 14ba2ec5b..78c814003 100644 --- a/src/main/java/de/thm/arsnova/cache/CacheBuster.java +++ b/src/main/java/de/thm/arsnova/cache/CacheBuster.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.cache; /** diff --git a/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java b/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java index bcd69ae7a..a21e49dc6 100644 --- a/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java +++ b/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java @@ -15,17 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.cache; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + import de.thm.arsnova.event.AfterCreationEvent; import de.thm.arsnova.event.AfterDeletionEvent; import de.thm.arsnova.event.ChangeScoreEvent; import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.Comment; import de.thm.arsnova.model.Room; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; /** * This class is used to evict caches based on events. The events carry all necessary information to clear the diff --git a/src/main/java/de/thm/arsnova/cache/ScheduledCacheBuster.java b/src/main/java/de/thm/arsnova/cache/ScheduledCacheBuster.java index a1c82ae18..07bc7ba63 100644 --- a/src/main/java/de/thm/arsnova/cache/ScheduledCacheBuster.java +++ b/src/main/java/de/thm/arsnova/cache/ScheduledCacheBuster.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.cache; import org.springframework.cache.annotation.CacheEvict; diff --git a/src/main/java/de/thm/arsnova/cache/package-info.java b/src/main/java/de/thm/arsnova/cache/package-info.java index af908a396..24a4552da 100644 --- a/src/main/java/de/thm/arsnova/cache/package-info.java +++ b/src/main/java/de/thm/arsnova/cache/package-info.java @@ -1,4 +1,5 @@ /** * Classes and interfaces related to caching */ + package de.thm.arsnova.cache; diff --git a/src/main/java/de/thm/arsnova/config/AppConfig.java b/src/main/java/de/thm/arsnova/config/AppConfig.java index 42832de71..74aaf2e1e 100644 --- a/src/main/java/de/thm/arsnova/config/AppConfig.java +++ b/src/main/java/de/thm/arsnova/config/AppConfig.java @@ -15,25 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import de.thm.arsnova.connector.client.ConnectorClient; -import de.thm.arsnova.connector.client.ConnectorClientImpl; -import de.thm.arsnova.model.migration.FromV2Migrator; -import de.thm.arsnova.model.migration.ToV2Migrator; -import de.thm.arsnova.model.serialization.CouchDbDocumentModule; -import de.thm.arsnova.model.serialization.View; -import de.thm.arsnova.util.ImageUtils; -import de.thm.arsnova.web.CacheControlInterceptorHandler; -import de.thm.arsnova.web.CorsFilter; -import de.thm.arsnova.web.DeprecatedApiInterceptorHandler; -import de.thm.arsnova.web.PathApiVersionContentNegotiationStrategy; -import de.thm.arsnova.web.ResponseInterceptorHandler; -import de.thm.arsnova.websocket.ArsnovaSocketioServer; -import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.config.PropertiesFactoryBean; @@ -67,10 +58,20 @@ import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.view.InternalResourceViewResolver; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import de.thm.arsnova.connector.client.ConnectorClient; +import de.thm.arsnova.connector.client.ConnectorClientImpl; +import de.thm.arsnova.model.migration.FromV2Migrator; +import de.thm.arsnova.model.migration.ToV2Migrator; +import de.thm.arsnova.model.serialization.CouchDbDocumentModule; +import de.thm.arsnova.model.serialization.View; +import de.thm.arsnova.util.ImageUtils; +import de.thm.arsnova.web.CacheControlInterceptorHandler; +import de.thm.arsnova.web.CorsFilter; +import de.thm.arsnova.web.DeprecatedApiInterceptorHandler; +import de.thm.arsnova.web.PathApiVersionContentNegotiationStrategy; +import de.thm.arsnova.web.ResponseInterceptorHandler; +import de.thm.arsnova.websocket.ArsnovaSocketioServer; +import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; /** * Loads property file and configures non-security related beans and components. diff --git a/src/main/java/de/thm/arsnova/config/AppInitializer.java b/src/main/java/de/thm/arsnova/config/AppInitializer.java index 26aae5722..780b342f0 100644 --- a/src/main/java/de/thm/arsnova/config/AppInitializer.java +++ b/src/main/java/de/thm/arsnova/config/AppInitializer.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; +import javax.servlet.Filter; +import javax.servlet.ServletRegistration; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.filter.DelegatingFilterProxy; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; -import javax.servlet.Filter; -import javax.servlet.ServletRegistration; - public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { diff --git a/src/main/java/de/thm/arsnova/config/PersistenceConfig.java b/src/main/java/de/thm/arsnova/config/PersistenceConfig.java index 681da8237..570e08c8c 100644 --- a/src/main/java/de/thm/arsnova/config/PersistenceConfig.java +++ b/src/main/java/de/thm/arsnova/config/PersistenceConfig.java @@ -15,8 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; +import org.ektorp.impl.StdCouchDbInstance; +import org.ektorp.spring.HttpClientFactoryBean; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.context.annotation.Profile; + import de.thm.arsnova.model.serialization.CouchDbObjectMapperFactory; import de.thm.arsnova.persistence.AnswerRepository; import de.thm.arsnova.persistence.CommentRepository; @@ -37,14 +47,6 @@ import de.thm.arsnova.persistence.couchdb.CouchDbSessionStatisticsRepository; import de.thm.arsnova.persistence.couchdb.CouchDbStatisticsRepository; import de.thm.arsnova.persistence.couchdb.CouchDbUserRepository; import de.thm.arsnova.persistence.couchdb.support.MangoCouchDbConnector; -import org.ektorp.impl.StdCouchDbInstance; -import org.ektorp.spring.HttpClientFactoryBean; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.Profile; @ComponentScan({ "de.thm.arsnova.persistence.couchdb" diff --git a/src/main/java/de/thm/arsnova/config/SecurityConfig.java b/src/main/java/de/thm/arsnova/config/SecurityConfig.java index 41897f22b..3ad86d54f 100644 --- a/src/main/java/de/thm/arsnova/config/SecurityConfig.java +++ b/src/main/java/de/thm/arsnova/config/SecurityConfig.java @@ -15,18 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; -import de.thm.arsnova.security.CasLogoutSuccessHandler; -import de.thm.arsnova.security.CasUserDetailsService; -import de.thm.arsnova.security.CustomLdapUserDetailsMapper; -import de.thm.arsnova.security.LoginAuthenticationFailureHandler; -import de.thm.arsnova.security.LoginAuthenticationSucessHandler; -import de.thm.arsnova.security.RegisteredUserDetailsService; -import de.thm.arsnova.security.jwt.JwtAuthenticationProvider; -import de.thm.arsnova.security.jwt.JwtTokenFilter; -import de.thm.arsnova.security.pac4j.OauthAuthenticationProvider; -import de.thm.arsnova.security.pac4j.OauthCallbackFilter; +import java.util.ArrayList; +import java.util.List; +import javax.annotation.PostConstruct; +import javax.servlet.ServletContext; import org.jasig.cas.client.validation.Cas20ProxyTicketValidator; import org.pac4j.core.client.Client; import org.pac4j.core.config.Config; @@ -85,10 +80,16 @@ import org.springframework.security.web.authentication.logout.SecurityContextLog import org.springframework.security.web.header.writers.HstsHeaderWriter; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; -import javax.annotation.PostConstruct; -import javax.servlet.ServletContext; -import java.util.ArrayList; -import java.util.List; +import de.thm.arsnova.security.CasLogoutSuccessHandler; +import de.thm.arsnova.security.CasUserDetailsService; +import de.thm.arsnova.security.CustomLdapUserDetailsMapper; +import de.thm.arsnova.security.LoginAuthenticationFailureHandler; +import de.thm.arsnova.security.LoginAuthenticationSucessHandler; +import de.thm.arsnova.security.RegisteredUserDetailsService; +import de.thm.arsnova.security.jwt.JwtAuthenticationProvider; +import de.thm.arsnova.security.jwt.JwtTokenFilter; +import de.thm.arsnova.security.pac4j.OauthAuthenticationProvider; +import de.thm.arsnova.security.pac4j.OauthCallbackFilter; /** * Loads property file and configures components used for authentication. diff --git a/src/main/java/de/thm/arsnova/config/SecurityInitializer.java b/src/main/java/de/thm/arsnova/config/SecurityInitializer.java index 77f73e76c..3869e969d 100644 --- a/src/main/java/de/thm/arsnova/config/SecurityInitializer.java +++ b/src/main/java/de/thm/arsnova/config/SecurityInitializer.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer; diff --git a/src/main/java/de/thm/arsnova/config/WebSocketConfig.java b/src/main/java/de/thm/arsnova/config/WebSocketConfig.java index 7c4f2f86c..10d6a2008 100644 --- a/src/main/java/de/thm/arsnova/config/WebSocketConfig.java +++ b/src/main/java/de/thm/arsnova/config/WebSocketConfig.java @@ -1,6 +1,5 @@ package de.thm.arsnova.config; -import de.thm.arsnova.websocket.handler.AuthChannelInterceptorAdapter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -10,6 +9,8 @@ import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBr import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; +import de.thm.arsnova.websocket.handler.AuthChannelInterceptorAdapter; + @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { diff --git a/src/main/java/de/thm/arsnova/config/package-info.java b/src/main/java/de/thm/arsnova/config/package-info.java index 817ab1d11..da30baa77 100644 --- a/src/main/java/de/thm/arsnova/config/package-info.java +++ b/src/main/java/de/thm/arsnova/config/package-info.java @@ -1,4 +1,5 @@ /** * Configuration of Spring's and ARSnova's components */ + package de.thm.arsnova.config; diff --git a/src/main/java/de/thm/arsnova/controller/AbstractController.java b/src/main/java/de/thm/arsnova/controller/AbstractController.java index 46ceb22c8..c0478b538 100644 --- a/src/main/java/de/thm/arsnova/controller/AbstractController.java +++ b/src/main/java/de/thm/arsnova/controller/AbstractController.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; /** diff --git a/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java b/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java index a680bfa51..81383c637 100644 --- a/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java +++ b/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java @@ -15,29 +15,39 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.Entity; -import de.thm.arsnova.model.FindQuery; -import de.thm.arsnova.service.EntityService; -import de.thm.arsnova.service.FindQueryService; -import de.thm.arsnova.web.exceptions.NotFoundException; +import java.io.IOException; +import java.util.Collection; +import java.util.Map; +import java.util.Set; +import javax.naming.OperationNotSupportedException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PatchMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.util.UriComponentsBuilder; -import javax.naming.OperationNotSupportedException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Collection; -import java.util.Map; -import java.util.Set; +import de.thm.arsnova.model.Entity; +import de.thm.arsnova.model.FindQuery; +import de.thm.arsnova.service.EntityService; +import de.thm.arsnova.service.FindQueryService; +import de.thm.arsnova.web.exceptions.NotFoundException; /** * Base type for Entity controllers which provides basic CRUD operations and supports Entity patching. diff --git a/src/main/java/de/thm/arsnova/controller/AnswerController.java b/src/main/java/de/thm/arsnova/controller/AnswerController.java index 2789bba90..b64a9a446 100644 --- a/src/main/java/de/thm/arsnova/controller/AnswerController.java +++ b/src/main/java/de/thm/arsnova/controller/AnswerController.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.Answer; -import de.thm.arsnova.service.AnswerService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.Answer; +import de.thm.arsnova.service.AnswerService; + @RestController @RequestMapping(AnswerController.REQUEST_MAPPING) public class AnswerController extends AbstractEntityController<Answer> { diff --git a/src/main/java/de/thm/arsnova/controller/AuthenticationController.java b/src/main/java/de/thm/arsnova/controller/AuthenticationController.java index e6b8e2d3c..f9bd848ac 100644 --- a/src/main/java/de/thm/arsnova/controller/AuthenticationController.java +++ b/src/main/java/de/thm/arsnova/controller/AuthenticationController.java @@ -15,18 +15,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.ClientAuthentication; -import de.thm.arsnova.model.LoginCredentials; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.ClientAuthentication; +import de.thm.arsnova.model.LoginCredentials; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; + @RestController @RequestMapping("/auth") public class AuthenticationController { diff --git a/src/main/java/de/thm/arsnova/controller/CommentController.java b/src/main/java/de/thm/arsnova/controller/CommentController.java index 270089799..2c0475891 100644 --- a/src/main/java/de/thm/arsnova/controller/CommentController.java +++ b/src/main/java/de/thm/arsnova/controller/CommentController.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.Comment; -import de.thm.arsnova.service.CommentService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.Comment; +import de.thm.arsnova.service.CommentService; + @RestController @RequestMapping(CommentController.REQUEST_MAPPING) public class CommentController extends AbstractEntityController<Comment> { diff --git a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java index 58f135692..ee0125347 100644 --- a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java +++ b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java @@ -15,8 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; +import java.util.HashMap; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -25,10 +29,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; -import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.Map; - /** * The ConfigurationController provides frontend clients with information necessary to correctly interact with the * backend and other frontends as well as settings for ARSnova. The the alternative /arsnova-config route is necessary diff --git a/src/main/java/de/thm/arsnova/controller/ContentController.java b/src/main/java/de/thm/arsnova/controller/ContentController.java index 31101a7af..a62a8034c 100644 --- a/src/main/java/de/thm/arsnova/controller/ContentController.java +++ b/src/main/java/de/thm/arsnova/controller/ContentController.java @@ -15,17 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.AnswerStatistics; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.service.AnswerService; -import de.thm.arsnova.service.ContentService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.AnswerStatistics; +import de.thm.arsnova.model.Content; +import de.thm.arsnova.service.AnswerService; +import de.thm.arsnova.service.ContentService; + @RestController @RequestMapping(ContentController.REQUEST_MAPPING) public class ContentController extends AbstractEntityController<Content> { diff --git a/src/main/java/de/thm/arsnova/controller/ControllerExceptionHandler.java b/src/main/java/de/thm/arsnova/controller/ControllerExceptionHandler.java index 38b1488ab..7c0ff021b 100644 --- a/src/main/java/de/thm/arsnova/controller/ControllerExceptionHandler.java +++ b/src/main/java/de/thm/arsnova/controller/ControllerExceptionHandler.java @@ -15,16 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.web.exceptions.BadRequestException; -import de.thm.arsnova.web.exceptions.ForbiddenException; -import de.thm.arsnova.web.exceptions.NoContentException; -import de.thm.arsnova.web.exceptions.NotFoundException; -import de.thm.arsnova.web.exceptions.NotImplementedException; -import de.thm.arsnova.web.exceptions.PayloadTooLargeException; -import de.thm.arsnova.web.exceptions.PreconditionFailedException; -import de.thm.arsnova.web.exceptions.UnauthorizedException; +import java.util.Map; +import javax.naming.OperationNotSupportedException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.ektorp.DocumentNotFoundException; import org.slf4j.event.Level; import org.springframework.http.HttpHeaders; @@ -42,10 +39,14 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; -import javax.naming.OperationNotSupportedException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Map; +import de.thm.arsnova.web.exceptions.BadRequestException; +import de.thm.arsnova.web.exceptions.ForbiddenException; +import de.thm.arsnova.web.exceptions.NoContentException; +import de.thm.arsnova.web.exceptions.NotFoundException; +import de.thm.arsnova.web.exceptions.NotImplementedException; +import de.thm.arsnova.web.exceptions.PayloadTooLargeException; +import de.thm.arsnova.web.exceptions.PreconditionFailedException; +import de.thm.arsnova.web.exceptions.UnauthorizedException; /** * Translates exceptions into HTTP status codes. diff --git a/src/main/java/de/thm/arsnova/controller/ControllerExceptionHelper.java b/src/main/java/de/thm/arsnova/controller/ControllerExceptionHelper.java index 0c1a705e0..6760458a6 100644 --- a/src/main/java/de/thm/arsnova/controller/ControllerExceptionHelper.java +++ b/src/main/java/de/thm/arsnova/controller/ControllerExceptionHelper.java @@ -15,8 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; +import java.util.HashMap; +import java.util.Map; import org.checkerframework.checker.nullness.qual.NonNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,9 +27,6 @@ import org.slf4j.event.Level; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.Map; - @Component public class ControllerExceptionHelper { private static final Logger logger = LoggerFactory.getLogger(ControllerExceptionHelper.class); diff --git a/src/main/java/de/thm/arsnova/controller/DefaultControllerExceptionHandler.java b/src/main/java/de/thm/arsnova/controller/DefaultControllerExceptionHandler.java index f76456e66..33d4b272c 100644 --- a/src/main/java/de/thm/arsnova/controller/DefaultControllerExceptionHandler.java +++ b/src/main/java/de/thm/arsnova/controller/DefaultControllerExceptionHandler.java @@ -15,8 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; import org.slf4j.event.Level; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.http.HttpStatus; @@ -25,9 +28,6 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; -import javax.servlet.http.HttpServletRequest; -import java.util.Map; - @ControllerAdvice public class DefaultControllerExceptionHandler { private ControllerExceptionHelper helper; diff --git a/src/main/java/de/thm/arsnova/controller/JsonViewControllerAdvice.java b/src/main/java/de/thm/arsnova/controller/JsonViewControllerAdvice.java index 1e0b1c79a..d845f11a8 100644 --- a/src/main/java/de/thm/arsnova/controller/JsonViewControllerAdvice.java +++ b/src/main/java/de/thm/arsnova/controller/JsonViewControllerAdvice.java @@ -15,9 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.serialization.View; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.MethodParameter; @@ -30,9 +33,7 @@ import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice; import org.springframework.web.util.UriComponentsBuilder; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import de.thm.arsnova.model.serialization.View; /** * This {@link ControllerAdvice} applies a {@link View} based on the diff --git a/src/main/java/de/thm/arsnova/controller/MotdController.java b/src/main/java/de/thm/arsnova/controller/MotdController.java index c79760227..5359b20a6 100644 --- a/src/main/java/de/thm/arsnova/controller/MotdController.java +++ b/src/main/java/de/thm/arsnova/controller/MotdController.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.Motd; -import de.thm.arsnova.service.MotdService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.Motd; +import de.thm.arsnova.service.MotdService; + @RestController @RequestMapping(MotdController.REQUEST_MAPPING) public class MotdController extends AbstractEntityController<Motd> { diff --git a/src/main/java/de/thm/arsnova/controller/PaginationController.java b/src/main/java/de/thm/arsnova/controller/PaginationController.java index 618bb7e75..3f0983db4 100644 --- a/src/main/java/de/thm/arsnova/controller/PaginationController.java +++ b/src/main/java/de/thm/arsnova/controller/PaginationController.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; /** diff --git a/src/main/java/de/thm/arsnova/controller/RoomController.java b/src/main/java/de/thm/arsnova/controller/RoomController.java index 1dce11dff..67eb68cba 100644 --- a/src/main/java/de/thm/arsnova/controller/RoomController.java +++ b/src/main/java/de/thm/arsnova/controller/RoomController.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.service.RoomService; +import java.util.Set; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -27,7 +27,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.Set; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.service.RoomService; @RestController @RequestMapping(RoomController.REQUEST_MAPPING) diff --git a/src/main/java/de/thm/arsnova/controller/UserController.java b/src/main/java/de/thm/arsnova/controller/UserController.java index 32597cae8..cd6519a23 100644 --- a/src/main/java/de/thm/arsnova/controller/UserController.java +++ b/src/main/java/de/thm/arsnova/controller/UserController.java @@ -15,16 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.LoginCredentials; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.serialization.View; -import de.thm.arsnova.service.RoomService; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.exceptions.BadRequestException; -import de.thm.arsnova.web.exceptions.ForbiddenException; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -33,6 +27,14 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.model.LoginCredentials; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.serialization.View; +import de.thm.arsnova.service.RoomService; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.exceptions.BadRequestException; +import de.thm.arsnova.web.exceptions.ForbiddenException; + @RestController @RequestMapping(UserController.REQUEST_MAPPING) public class UserController extends AbstractEntityController<UserProfile> { diff --git a/src/main/java/de/thm/arsnova/controller/WelcomeController.java b/src/main/java/de/thm/arsnova/controller/WelcomeController.java index 6773eabfe..de5638845 100644 --- a/src/main/java/de/thm/arsnova/controller/WelcomeController.java +++ b/src/main/java/de/thm/arsnova/controller/WelcomeController.java @@ -15,10 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.web.exceptions.BadRequestException; -import de.thm.arsnova.web.exceptions.NoContentException; +import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.UnknownHostException; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -34,15 +42,8 @@ import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.View; import org.springframework.web.servlet.view.RedirectView; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.net.InetAddress; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; +import de.thm.arsnova.web.exceptions.BadRequestException; +import de.thm.arsnova.web.exceptions.NoContentException; /** * Default controller that handles requests which have not set a path. diff --git a/src/main/java/de/thm/arsnova/controller/package-info.java b/src/main/java/de/thm/arsnova/controller/package-info.java index 71e44bcf6..838e3210f 100644 --- a/src/main/java/de/thm/arsnova/controller/package-info.java +++ b/src/main/java/de/thm/arsnova/controller/package-info.java @@ -1,4 +1,5 @@ /** * The 'C' in MVC */ + package de.thm.arsnova.controller; diff --git a/src/main/java/de/thm/arsnova/controller/v2/AuthenticationController.java b/src/main/java/de/thm/arsnova/controller/v2/AuthenticationController.java index e278d0166..706afd616 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/AuthenticationController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/AuthenticationController.java @@ -15,16 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.config.SecurityConfig; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.model.ServiceDescription; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.exceptions.UnauthorizedException; +import java.io.IOException; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import javax.annotation.PostConstruct; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.pac4j.core.context.J2EContext; import org.pac4j.core.exception.HttpAction; import org.pac4j.oauth.client.FacebookClient; @@ -54,16 +57,14 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.View; import org.springframework.web.servlet.view.RedirectView; -import javax.annotation.PostConstruct; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; +import de.thm.arsnova.config.SecurityConfig; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.model.ServiceDescription; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.v2.ClientAuthentication; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.exceptions.UnauthorizedException; /** * Handles authentication specific requests. diff --git a/src/main/java/de/thm/arsnova/controller/v2/CommentController.java b/src/main/java/de/thm/arsnova/controller/v2/CommentController.java index ae63d490f..1d0c3318f 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/CommentController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/CommentController.java @@ -15,24 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.PaginationController; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.migration.FromV2Migrator; -import de.thm.arsnova.model.migration.ToV2Migrator; -import de.thm.arsnova.model.migration.v2.Comment; -import de.thm.arsnova.model.migration.v2.CommentReadingCount; -import de.thm.arsnova.service.CommentService; -import de.thm.arsnova.service.RoomService; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.DeprecatedApi; -import de.thm.arsnova.web.Pagination; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import java.io.IOException; +import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -44,9 +37,17 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -import java.io.IOException; -import java.util.List; -import java.util.stream.Collectors; +import de.thm.arsnova.controller.PaginationController; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.migration.FromV2Migrator; +import de.thm.arsnova.model.migration.ToV2Migrator; +import de.thm.arsnova.model.migration.v2.Comment; +import de.thm.arsnova.model.migration.v2.CommentReadingCount; +import de.thm.arsnova.service.CommentService; +import de.thm.arsnova.service.RoomService; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.DeprecatedApi; +import de.thm.arsnova.web.Pagination; /** * Handles requests related to comments. diff --git a/src/main/java/de/thm/arsnova/controller/v2/ContentController.java b/src/main/java/de/thm/arsnova/controller/v2/ContentController.java index 8942eea2c..e57ba8cf7 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/ContentController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/ContentController.java @@ -15,8 +15,33 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; +import javax.naming.OperationNotSupportedException; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + import de.thm.arsnova.controller.PaginationController; import de.thm.arsnova.model.ChoiceAnswer; import de.thm.arsnova.model.ChoiceQuestionContent; @@ -37,30 +62,6 @@ import de.thm.arsnova.web.exceptions.ForbiddenException; import de.thm.arsnova.web.exceptions.NoContentException; import de.thm.arsnova.web.exceptions.NotFoundException; import de.thm.arsnova.web.exceptions.NotImplementedException; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; - -import javax.naming.OperationNotSupportedException; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.StreamSupport; /** * Handles requests related to contents. diff --git a/src/main/java/de/thm/arsnova/controller/v2/CourseController.java b/src/main/java/de/thm/arsnova/controller/v2/CourseController.java index 4984cebec..0d22197d8 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/CourseController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/CourseController.java @@ -15,8 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; +import io.swagger.annotations.ApiParam; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import de.thm.arsnova.connector.client.ConnectorClient; import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.connector.model.UserRole; @@ -25,18 +38,6 @@ import de.thm.arsnova.security.User; import de.thm.arsnova.service.UserService; import de.thm.arsnova.web.exceptions.NotImplementedException; import de.thm.arsnova.web.exceptions.UnauthorizedException; -import io.swagger.annotations.ApiParam; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; /** * Provides access to a user's courses in an LMS such as Moodle. diff --git a/src/main/java/de/thm/arsnova/controller/v2/FeedbackController.java b/src/main/java/de/thm/arsnova/controller/v2/FeedbackController.java index 5f7dda308..25b8794c5 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/FeedbackController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/FeedbackController.java @@ -15,17 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.model.Feedback; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.FeedbackService; -import de.thm.arsnova.service.RoomService; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.DeprecatedApi; -import de.thm.arsnova.web.exceptions.NotFoundException; -import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -36,6 +28,16 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.model.Feedback; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.FeedbackService; +import de.thm.arsnova.service.RoomService; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.DeprecatedApi; +import de.thm.arsnova.web.exceptions.NotFoundException; +import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; + /** * Handles requests concerning the user's feedback, i.e., "too fast" or "faster, please". This HTTP API is * deprecated in favor of the socket implementation. diff --git a/src/main/java/de/thm/arsnova/controller/v2/LegacyController.java b/src/main/java/de/thm/arsnova/controller/v2/LegacyController.java index 0e7416219..7389e0a81 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/LegacyController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/LegacyController.java @@ -15,12 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.service.CommentService; -import de.thm.arsnova.service.ContentService; -import de.thm.arsnova.web.DeprecatedApi; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; @@ -28,6 +25,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.service.CommentService; +import de.thm.arsnova.service.ContentService; +import de.thm.arsnova.web.DeprecatedApi; + /** * This controller forwards requests from deprecated URLs to their new controller, where the requests are handled. */ diff --git a/src/main/java/de/thm/arsnova/controller/v2/MotdController.java b/src/main/java/de/thm/arsnova/controller/v2/MotdController.java index 31aae6b57..e8790ac0d 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/MotdController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/MotdController.java @@ -15,24 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.FromV2Migrator; -import de.thm.arsnova.model.migration.ToV2Migrator; -import de.thm.arsnova.model.migration.v2.Motd; -import de.thm.arsnova.model.migration.v2.MotdList; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.MotdService; -import de.thm.arsnova.service.RoomService; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.exceptions.ForbiddenException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -44,10 +38,17 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.FromV2Migrator; +import de.thm.arsnova.model.migration.ToV2Migrator; +import de.thm.arsnova.model.migration.v2.Motd; +import de.thm.arsnova.model.migration.v2.MotdList; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.MotdService; +import de.thm.arsnova.service.RoomService; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.exceptions.ForbiddenException; /** * diff --git a/src/main/java/de/thm/arsnova/controller/v2/RoomController.java b/src/main/java/de/thm/arsnova/controller/v2/RoomController.java index d7d48c255..33f60a99e 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/RoomController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/RoomController.java @@ -15,30 +15,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.PaginationController; -import de.thm.arsnova.model.migration.FromV2Migrator; -import de.thm.arsnova.model.migration.ToV2Migrator; -import de.thm.arsnova.model.migration.v2.Room; -import de.thm.arsnova.model.migration.v2.RoomFeature; -import de.thm.arsnova.model.migration.v2.RoomInfo; -import de.thm.arsnova.model.transport.ImportExportContainer; -import de.thm.arsnova.model.transport.ScoreStatistics; -import de.thm.arsnova.service.RoomService; -import de.thm.arsnova.service.RoomServiceImpl; -import de.thm.arsnova.service.RoomServiceImpl.RoomNameComparator; -import de.thm.arsnova.service.RoomServiceImpl.RoomShortNameComparator; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.web.DeprecatedApi; -import de.thm.arsnova.web.Pagination; -import de.thm.arsnova.web.exceptions.NotImplementedException; -import de.thm.arsnova.web.exceptions.UnauthorizedException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -51,12 +41,23 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; +import de.thm.arsnova.controller.PaginationController; +import de.thm.arsnova.model.migration.FromV2Migrator; +import de.thm.arsnova.model.migration.ToV2Migrator; +import de.thm.arsnova.model.migration.v2.Room; +import de.thm.arsnova.model.migration.v2.RoomFeature; +import de.thm.arsnova.model.migration.v2.RoomInfo; +import de.thm.arsnova.model.transport.ImportExportContainer; +import de.thm.arsnova.model.transport.ScoreStatistics; +import de.thm.arsnova.service.RoomService; +import de.thm.arsnova.service.RoomServiceImpl; +import de.thm.arsnova.service.RoomServiceImpl.RoomNameComparator; +import de.thm.arsnova.service.RoomServiceImpl.RoomShortNameComparator; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.web.DeprecatedApi; +import de.thm.arsnova.web.Pagination; +import de.thm.arsnova.web.exceptions.NotImplementedException; +import de.thm.arsnova.web.exceptions.UnauthorizedException; /** * Handles requests related to ARSnova Rooms. diff --git a/src/main/java/de/thm/arsnova/controller/v2/SocketController.java b/src/main/java/de/thm/arsnova/controller/v2/SocketController.java index 00bf63f0a..87565833d 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/SocketController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/SocketController.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; -import de.thm.arsnova.websocket.ArsnovaSocketioServer; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import java.util.Map; +import java.util.UUID; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -36,10 +37,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Map; -import java.util.UUID; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; +import de.thm.arsnova.websocket.ArsnovaSocketioServer; /** * Initiates the socket communication. diff --git a/src/main/java/de/thm/arsnova/controller/v2/StatisticsController.java b/src/main/java/de/thm/arsnova/controller/v2/StatisticsController.java index 88ccbf36e..8fea0e16a 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/StatisticsController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/StatisticsController.java @@ -15,13 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.model.Statistics; -import de.thm.arsnova.service.StatisticsService; -import de.thm.arsnova.web.CacheControl; -import de.thm.arsnova.web.DeprecatedApi; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -30,6 +26,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.model.Statistics; +import de.thm.arsnova.service.StatisticsService; +import de.thm.arsnova.web.CacheControl; +import de.thm.arsnova.web.DeprecatedApi; + /** * Allows retrieval of several statistics such as the number of active users. */ diff --git a/src/main/java/de/thm/arsnova/controller/v2/UserController.java b/src/main/java/de/thm/arsnova/controller/v2/UserController.java index 72c88a662..5bd9c30aa 100644 --- a/src/main/java/de/thm/arsnova/controller/v2/UserController.java +++ b/src/main/java/de/thm/arsnova/controller/v2/UserController.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractController; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.stereotype.Controller; @@ -28,8 +28,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import de.thm.arsnova.controller.AbstractController; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; /** * Handles requests related to ARSnova's own user registration and login process. diff --git a/src/main/java/de/thm/arsnova/event/AfterCreationEvent.java b/src/main/java/de/thm/arsnova/event/AfterCreationEvent.java index 6c35146c9..7901103dd 100644 --- a/src/main/java/de/thm/arsnova/event/AfterCreationEvent.java +++ b/src/main/java/de/thm/arsnova/event/AfterCreationEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/AfterDeletionEvent.java b/src/main/java/de/thm/arsnova/event/AfterDeletionEvent.java index 6a633db9b..e53a16ec2 100644 --- a/src/main/java/de/thm/arsnova/event/AfterDeletionEvent.java +++ b/src/main/java/de/thm/arsnova/event/AfterDeletionEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/AfterFullUpdateEvent.java b/src/main/java/de/thm/arsnova/event/AfterFullUpdateEvent.java index ae23ce044..9e3129dc3 100644 --- a/src/main/java/de/thm/arsnova/event/AfterFullUpdateEvent.java +++ b/src/main/java/de/thm/arsnova/event/AfterFullUpdateEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/AfterPatchEvent.java b/src/main/java/de/thm/arsnova/event/AfterPatchEvent.java index c79d2ae31..e58fb3d47 100644 --- a/src/main/java/de/thm/arsnova/event/AfterPatchEvent.java +++ b/src/main/java/de/thm/arsnova/event/AfterPatchEvent.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.event; -import de.thm.arsnova.model.Entity; +package de.thm.arsnova.event; import java.util.Map; import java.util.function.Function; +import de.thm.arsnova.model.Entity; + public class AfterPatchEvent<E extends Entity> extends AfterUpdateEvent<E> { private final Function<E, ? extends Object> propertyGetter; private final Map<String, Object> changes; diff --git a/src/main/java/de/thm/arsnova/event/AfterUpdateEvent.java b/src/main/java/de/thm/arsnova/event/AfterUpdateEvent.java index 688f9b8ee..88ed16d77 100644 --- a/src/main/java/de/thm/arsnova/event/AfterUpdateEvent.java +++ b/src/main/java/de/thm/arsnova/event/AfterUpdateEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java b/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java index eff061f27..66d51c083 100644 --- a/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java +++ b/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import org.springframework.context.ApplicationEvent; diff --git a/src/main/java/de/thm/arsnova/event/BeforeCreationEvent.java b/src/main/java/de/thm/arsnova/event/BeforeCreationEvent.java index da000310a..391bd0d81 100644 --- a/src/main/java/de/thm/arsnova/event/BeforeCreationEvent.java +++ b/src/main/java/de/thm/arsnova/event/BeforeCreationEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/BeforeDeletionEvent.java b/src/main/java/de/thm/arsnova/event/BeforeDeletionEvent.java index c2239b8e4..ca1ac9228 100644 --- a/src/main/java/de/thm/arsnova/event/BeforeDeletionEvent.java +++ b/src/main/java/de/thm/arsnova/event/BeforeDeletionEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/BeforeFullUpdateEvent.java b/src/main/java/de/thm/arsnova/event/BeforeFullUpdateEvent.java index 5f4b350cd..d7f3e82ba 100644 --- a/src/main/java/de/thm/arsnova/event/BeforeFullUpdateEvent.java +++ b/src/main/java/de/thm/arsnova/event/BeforeFullUpdateEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/BeforePatchEvent.java b/src/main/java/de/thm/arsnova/event/BeforePatchEvent.java index d2d5070b6..a73771e3c 100644 --- a/src/main/java/de/thm/arsnova/event/BeforePatchEvent.java +++ b/src/main/java/de/thm/arsnova/event/BeforePatchEvent.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.event; -import de.thm.arsnova.model.Entity; +package de.thm.arsnova.event; import java.util.Map; import java.util.function.Function; +import de.thm.arsnova.model.Entity; + public class BeforePatchEvent<E extends Entity> extends BeforeUpdateEvent<E> { private final Function<E, ? extends Object> propertyGetter; private final Map<String, Object> changes; diff --git a/src/main/java/de/thm/arsnova/event/BeforeUpdateEvent.java b/src/main/java/de/thm/arsnova/event/BeforeUpdateEvent.java index 450f9ea5f..7f0ce2db6 100644 --- a/src/main/java/de/thm/arsnova/event/BeforeUpdateEvent.java +++ b/src/main/java/de/thm/arsnova/event/BeforeUpdateEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; diff --git a/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java b/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java index 62937cb3f..4dc188ddd 100644 --- a/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java +++ b/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; /** diff --git a/src/main/java/de/thm/arsnova/event/CrudEvent.java b/src/main/java/de/thm/arsnova/event/CrudEvent.java index cf53ad1ec..fbe1ebf46 100644 --- a/src/main/java/de/thm/arsnova/event/CrudEvent.java +++ b/src/main/java/de/thm/arsnova/event/CrudEvent.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; -import de.thm.arsnova.model.Entity; import org.springframework.context.ApplicationEvent; import org.springframework.core.ResolvableType; import org.springframework.core.ResolvableTypeProvider; +import de.thm.arsnova.model.Entity; + public abstract class CrudEvent<E extends Entity> extends ApplicationEvent implements ResolvableTypeProvider { private E entity; diff --git a/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java b/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java index aec470947..45729339f 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java @@ -15,12 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.event; -import de.thm.arsnova.model.Room; +package de.thm.arsnova.event; import java.util.Set; +import de.thm.arsnova.model.Room; + /** * Fires whenever the feedback of a specific user has been reset. */ diff --git a/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java b/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java index 8099d2bf5..73abd1b11 100644 --- a/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java +++ b/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; /** diff --git a/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java b/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java index 9d3df37a0..07e54276a 100644 --- a/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; /** diff --git a/src/main/java/de/thm/arsnova/event/RoomEvent.java b/src/main/java/de/thm/arsnova/event/RoomEvent.java index 5af8668ed..93352387b 100644 --- a/src/main/java/de/thm/arsnova/event/RoomEvent.java +++ b/src/main/java/de/thm/arsnova/event/RoomEvent.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; /** diff --git a/src/main/java/de/thm/arsnova/event/StateChangeEvent.java b/src/main/java/de/thm/arsnova/event/StateChangeEvent.java index ccb1d3694..906fef62b 100644 --- a/src/main/java/de/thm/arsnova/event/StateChangeEvent.java +++ b/src/main/java/de/thm/arsnova/event/StateChangeEvent.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; -import de.thm.arsnova.model.Entity; +import java.util.Optional; import org.springframework.context.ApplicationEvent; import org.springframework.core.ResolvableType; import org.springframework.core.ResolvableTypeProvider; -import java.util.Optional; +import de.thm.arsnova.model.Entity; public class StateChangeEvent<E extends Entity, T> extends ApplicationEvent implements ResolvableTypeProvider { private final E entity; diff --git a/src/main/java/de/thm/arsnova/event/StateEventDispatcher.java b/src/main/java/de/thm/arsnova/event/StateEventDispatcher.java index 0d63bcec6..227f3f0ae 100644 --- a/src/main/java/de/thm/arsnova/event/StateEventDispatcher.java +++ b/src/main/java/de/thm/arsnova/event/StateEventDispatcher.java @@ -15,18 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.model.Entity; -import de.thm.arsnova.model.Room; +import java.util.Map; +import java.util.function.Function; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; -import java.util.Map; -import java.util.function.Function; +import de.thm.arsnova.model.Content; +import de.thm.arsnova.model.Entity; +import de.thm.arsnova.model.Room; /** * StateEventDispatcher publishes additional, more specific events for state changes of entities when diff --git a/src/main/java/de/thm/arsnova/event/package-info.java b/src/main/java/de/thm/arsnova/event/package-info.java index 636c0e300..d1ffd4be2 100644 --- a/src/main/java/de/thm/arsnova/event/package-info.java +++ b/src/main/java/de/thm/arsnova/event/package-info.java @@ -1,4 +1,5 @@ /** * ARSnova's internal event system */ + package de.thm.arsnova.event; diff --git a/src/main/java/de/thm/arsnova/model/Answer.java b/src/main/java/de/thm/arsnova/model/Answer.java index 1c3387227..4f9e6322a 100644 --- a/src/main/java/de/thm/arsnova/model/Answer.java +++ b/src/main/java/de/thm/arsnova/model/Answer.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonView; import com.fasterxml.jackson.databind.annotation.JsonTypeIdResolver; -import de.thm.arsnova.model.serialization.FormatAnswerTypeIdResolver; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Map; import java.util.Objects; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.FormatAnswerTypeIdResolver; +import de.thm.arsnova.model.serialization.View; @JsonTypeInfo( use = JsonTypeInfo.Id.CUSTOM, diff --git a/src/main/java/de/thm/arsnova/model/AnswerStatistics.java b/src/main/java/de/thm/arsnova/model/AnswerStatistics.java index 611888e41..a0a9f049c 100644 --- a/src/main/java/de/thm/arsnova/model/AnswerStatistics.java +++ b/src/main/java/de/thm/arsnova/model/AnswerStatistics.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Collection; import java.util.List; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class AnswerStatistics { public static class RoundStatistics { diff --git a/src/main/java/de/thm/arsnova/model/Attachment.java b/src/main/java/de/thm/arsnova/model/Attachment.java index ed72909ae..9eed32198 100644 --- a/src/main/java/de/thm/arsnova/model/Attachment.java +++ b/src/main/java/de/thm/arsnova/model/Attachment.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; +import java.util.Objects; import org.springframework.core.style.ToStringCreator; -import java.util.Objects; +import de.thm.arsnova.model.serialization.View; public class Attachment extends Entity { private String mediaType; diff --git a/src/main/java/de/thm/arsnova/model/Authorize.java b/src/main/java/de/thm/arsnova/model/Authorize.java index ac3a9c8db..04353a6a8 100644 --- a/src/main/java/de/thm/arsnova/model/Authorize.java +++ b/src/main/java/de/thm/arsnova/model/Authorize.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; + import de.thm.arsnova.model.serialization.View; public class Authorize { diff --git a/src/main/java/de/thm/arsnova/model/ChoiceAnswer.java b/src/main/java/de/thm/arsnova/model/ChoiceAnswer.java index 8b1245c78..25fb49606 100644 --- a/src/main/java/de/thm/arsnova/model/ChoiceAnswer.java +++ b/src/main/java/de/thm/arsnova/model/ChoiceAnswer.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; +import java.util.List; import org.springframework.core.style.ToStringCreator; -import java.util.List; +import de.thm.arsnova.model.serialization.View; public class ChoiceAnswer extends Answer { private List<Integer> selectedChoiceIndexes; diff --git a/src/main/java/de/thm/arsnova/model/ChoiceQuestionContent.java b/src/main/java/de/thm/arsnova/model/ChoiceQuestionContent.java index 4d4f258f9..fa7797b89 100644 --- a/src/main/java/de/thm/arsnova/model/ChoiceQuestionContent.java +++ b/src/main/java/de/thm/arsnova/model/ChoiceQuestionContent.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.ArrayList; import java.util.List; import java.util.Objects; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class ChoiceQuestionContent extends Content { public static class AnswerOption { diff --git a/src/main/java/de/thm/arsnova/model/ClientAuthentication.java b/src/main/java/de/thm/arsnova/model/ClientAuthentication.java index 06c5d8885..98f588d90 100644 --- a/src/main/java/de/thm/arsnova/model/ClientAuthentication.java +++ b/src/main/java/de/thm/arsnova/model/ClientAuthentication.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import org.springframework.core.style.ToStringCreator; +import de.thm.arsnova.model.serialization.View; + public class ClientAuthentication { private String userId; private String loginId; diff --git a/src/main/java/de/thm/arsnova/model/Comment.java b/src/main/java/de/thm/arsnova/model/Comment.java index 686903cc5..46267287a 100644 --- a/src/main/java/de/thm/arsnova/model/Comment.java +++ b/src/main/java/de/thm/arsnova/model/Comment.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Date; import java.util.Map; import java.util.Objects; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class Comment extends Entity { private String roomId; diff --git a/src/main/java/de/thm/arsnova/model/Content.java b/src/main/java/de/thm/arsnova/model/Content.java index b015f53de..a388f70ee 100644 --- a/src/main/java/de/thm/arsnova/model/Content.java +++ b/src/main/java/de/thm/arsnova/model/Content.java @@ -15,20 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonView; import com.fasterxml.jackson.databind.annotation.JsonTypeIdResolver; -import de.thm.arsnova.model.serialization.FormatContentTypeIdResolver; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Date; import java.util.HashSet; import java.util.Map; import java.util.Objects; import java.util.Set; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.FormatContentTypeIdResolver; +import de.thm.arsnova.model.serialization.View; @JsonTypeInfo( use = JsonTypeInfo.Id.CUSTOM, diff --git a/src/main/java/de/thm/arsnova/model/Entity.java b/src/main/java/de/thm/arsnova/model/Entity.java index 33deacb3e..b5292c40d 100644 --- a/src/main/java/de/thm/arsnova/model/Entity.java +++ b/src/main/java/de/thm/arsnova/model/Entity.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Date; import java.util.Objects; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; /** * Used as base for classes that represent persistent data with an unique ID. diff --git a/src/main/java/de/thm/arsnova/model/Feedback.java b/src/main/java/de/thm/arsnova/model/Feedback.java index 13fa25df0..c64521796 100644 --- a/src/main/java/de/thm/arsnova/model/Feedback.java +++ b/src/main/java/de/thm/arsnova/model/Feedback.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; - import java.util.ArrayList; import java.util.List; import java.util.Optional; +import de.thm.arsnova.model.serialization.View; + /** * The feedback values of a single session. */ diff --git a/src/main/java/de/thm/arsnova/model/FindQuery.java b/src/main/java/de/thm/arsnova/model/FindQuery.java index 51915ebdc..5391f1f83 100644 --- a/src/main/java/de/thm/arsnova/model/FindQuery.java +++ b/src/main/java/de/thm/arsnova/model/FindQuery.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; +import java.util.Map; import org.springframework.core.style.ToStringCreator; -import java.util.Map; +import de.thm.arsnova.model.serialization.View; public class FindQuery<E extends Entity> { enum LogicalOperator { diff --git a/src/main/java/de/thm/arsnova/model/LogEntry.java b/src/main/java/de/thm/arsnova/model/LogEntry.java index d1e60ea15..b21183b32 100644 --- a/src/main/java/de/thm/arsnova/model/LogEntry.java +++ b/src/main/java/de/thm/arsnova/model/LogEntry.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; - import java.util.Date; import java.util.Map; import java.util.Objects; +import de.thm.arsnova.model.serialization.View; + public class LogEntry extends Entity { public enum LogLevel { TRACE, diff --git a/src/main/java/de/thm/arsnova/model/LoginCredentials.java b/src/main/java/de/thm/arsnova/model/LoginCredentials.java index caeb74a4f..b847424c0 100644 --- a/src/main/java/de/thm/arsnova/model/LoginCredentials.java +++ b/src/main/java/de/thm/arsnova/model/LoginCredentials.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import org.springframework.core.style.ToStringCreator; +import de.thm.arsnova.model.serialization.View; + public class LoginCredentials { private String loginId; private String password; diff --git a/src/main/java/de/thm/arsnova/model/MigrationState.java b/src/main/java/de/thm/arsnova/model/MigrationState.java index 96c83265f..bbcabb50b 100644 --- a/src/main/java/de/thm/arsnova/model/MigrationState.java +++ b/src/main/java/de/thm/arsnova/model/MigrationState.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; - import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; +import de.thm.arsnova.model.serialization.View; + public class MigrationState extends Entity { public static class Migration { private String id; diff --git a/src/main/java/de/thm/arsnova/model/Motd.java b/src/main/java/de/thm/arsnova/model/Motd.java index ec70d83b8..0f5729aee 100644 --- a/src/main/java/de/thm/arsnova/model/Motd.java +++ b/src/main/java/de/thm/arsnova/model/Motd.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Date; import java.util.Objects; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class Motd extends Entity { public enum Audience { diff --git a/src/main/java/de/thm/arsnova/model/Room.java b/src/main/java/de/thm/arsnova/model/Room.java index 12caac41e..006acda6c 100644 --- a/src/main/java/de/thm/arsnova/model/Room.java +++ b/src/main/java/de/thm/arsnova/model/Room.java @@ -15,18 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.HashSet; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class Room extends Entity { public static class ContentGroup { diff --git a/src/main/java/de/thm/arsnova/model/RoomStatistics.java b/src/main/java/de/thm/arsnova/model/RoomStatistics.java index da1ebba60..d15d0cae9 100644 --- a/src/main/java/de/thm/arsnova/model/RoomStatistics.java +++ b/src/main/java/de/thm/arsnova/model/RoomStatistics.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import org.springframework.core.style.ToStringCreator; +import de.thm.arsnova.model.serialization.View; + public class RoomStatistics { private int contentCount = 0; private int unansweredContentCount = 0; diff --git a/src/main/java/de/thm/arsnova/model/ScoreOptions.java b/src/main/java/de/thm/arsnova/model/ScoreOptions.java index bc16b95d7..7a04e3e1c 100644 --- a/src/main/java/de/thm/arsnova/model/ScoreOptions.java +++ b/src/main/java/de/thm/arsnova/model/ScoreOptions.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.io.Serializable; +import de.thm.arsnova.model.serialization.View; + /** * A session's settings regarding the calculation of the score. */ diff --git a/src/main/java/de/thm/arsnova/model/ServiceDescription.java b/src/main/java/de/thm/arsnova/model/ServiceDescription.java index 755c48bf4..5b9c6c4e4 100644 --- a/src/main/java/de/thm/arsnova/model/ServiceDescription.java +++ b/src/main/java/de/thm/arsnova/model/ServiceDescription.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; + import de.thm.arsnova.model.serialization.View; /** diff --git a/src/main/java/de/thm/arsnova/model/Statistics.java b/src/main/java/de/thm/arsnova/model/Statistics.java index d73b544f8..e8ab39f19 100644 --- a/src/main/java/de/thm/arsnova/model/Statistics.java +++ b/src/main/java/de/thm/arsnova/model/Statistics.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * Collection of several statistics about ARSnova. */ diff --git a/src/main/java/de/thm/arsnova/model/TextAnswer.java b/src/main/java/de/thm/arsnova/model/TextAnswer.java index a1226fdbb..ac84b9d59 100644 --- a/src/main/java/de/thm/arsnova/model/TextAnswer.java +++ b/src/main/java/de/thm/arsnova/model/TextAnswer.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; +import java.util.Date; import org.springframework.core.style.ToStringCreator; -import java.util.Date; +import de.thm.arsnova.model.serialization.View; public class TextAnswer extends Answer { private String subject; diff --git a/src/main/java/de/thm/arsnova/model/UserProfile.java b/src/main/java/de/thm/arsnova/model/UserProfile.java index 58425835d..31a6c94c5 100644 --- a/src/main/java/de/thm/arsnova/model/UserProfile.java +++ b/src/main/java/de/thm/arsnova/model/UserProfile.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; -import org.springframework.core.style.ToStringCreator; - import java.util.Date; import java.util.HashSet; import java.util.Map; import java.util.Objects; import java.util.Set; +import org.springframework.core.style.ToStringCreator; + +import de.thm.arsnova.model.serialization.View; public class UserProfile extends Entity { public enum AuthProvider { diff --git a/src/main/java/de/thm/arsnova/model/migration/FromV2Migrator.java b/src/main/java/de/thm/arsnova/model/migration/FromV2Migrator.java index 27605454b..03816a662 100644 --- a/src/main/java/de/thm/arsnova/model/migration/FromV2Migrator.java +++ b/src/main/java/de/thm/arsnova/model/migration/FromV2Migrator.java @@ -15,14 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.model.migration; -import de.thm.arsnova.model.ChoiceAnswer; -import de.thm.arsnova.model.ChoiceQuestionContent; -import de.thm.arsnova.model.TextAnswer; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.v2.*; -import org.checkerframework.checker.nullness.qual.Nullable; +package de.thm.arsnova.model.migration; import java.util.ArrayList; import java.util.Arrays; @@ -33,6 +27,22 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import org.checkerframework.checker.nullness.qual.Nullable; + +import de.thm.arsnova.model.ChoiceAnswer; +import de.thm.arsnova.model.ChoiceQuestionContent; +import de.thm.arsnova.model.TextAnswer; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.v2.Answer; +import de.thm.arsnova.model.migration.v2.Comment; +import de.thm.arsnova.model.migration.v2.Content; +import de.thm.arsnova.model.migration.v2.DbUser; +import de.thm.arsnova.model.migration.v2.Entity; +import de.thm.arsnova.model.migration.v2.LoggedIn; +import de.thm.arsnova.model.migration.v2.Motd; +import de.thm.arsnova.model.migration.v2.MotdList; +import de.thm.arsnova.model.migration.v2.Room; +import de.thm.arsnova.model.migration.v2.RoomFeature; /** * Converts legacy entities from version 2 to current model version. diff --git a/src/main/java/de/thm/arsnova/model/migration/ToV2Migrator.java b/src/main/java/de/thm/arsnova/model/migration/ToV2Migrator.java index 6cece70c7..b6b3b17e0 100644 --- a/src/main/java/de/thm/arsnova/model/migration/ToV2Migrator.java +++ b/src/main/java/de/thm/arsnova/model/migration/ToV2Migrator.java @@ -15,13 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration; -import de.thm.arsnova.model.AnswerStatistics; -import de.thm.arsnova.model.ChoiceQuestionContent; -import de.thm.arsnova.model.RoomStatistics; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.v2.*; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_ABCD; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_FREETEXT; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_GRID; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_MC; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_SCHOOL; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_VOTE; +import static de.thm.arsnova.model.migration.FromV2Migrator.V2_TYPE_YESNO; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -30,7 +33,22 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; -import static de.thm.arsnova.model.migration.FromV2Migrator.*; +import de.thm.arsnova.model.AnswerStatistics; +import de.thm.arsnova.model.ChoiceQuestionContent; +import de.thm.arsnova.model.RoomStatistics; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.v2.Answer; +import de.thm.arsnova.model.migration.v2.AnswerOption; +import de.thm.arsnova.model.migration.v2.Comment; +import de.thm.arsnova.model.migration.v2.Content; +import de.thm.arsnova.model.migration.v2.Entity; +import de.thm.arsnova.model.migration.v2.LoggedIn; +import de.thm.arsnova.model.migration.v2.Motd; +import de.thm.arsnova.model.migration.v2.MotdList; +import de.thm.arsnova.model.migration.v2.Room; +import de.thm.arsnova.model.migration.v2.RoomFeature; +import de.thm.arsnova.model.migration.v2.RoomInfo; +import de.thm.arsnova.model.migration.v2.VisitedRoom; /** * Converts entities from current model version to legacy version 2. diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Answer.java b/src/main/java/de/thm/arsnova/model/migration/v2/Answer.java index 2649e5b0d..31c1003f2 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Answer.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Answer.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * Both a regular (single choice, evaluation, etc.) as well as a freetext answer. * diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/AnswerOption.java b/src/main/java/de/thm/arsnova/model/migration/v2/AnswerOption.java index d9eae95f0..ea8f58885 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/AnswerOption.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/AnswerOption.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.io.Serializable; +import de.thm.arsnova.model.serialization.View; + /** * Represents an Answer (Possible Answer) of Content. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/ClientAuthentication.java b/src/main/java/de/thm/arsnova/model/migration/v2/ClientAuthentication.java index 357ab1091..7fb3b8a9c 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/ClientAuthentication.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/ClientAuthentication.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.serialization.View; -import de.thm.arsnova.security.User; +import java.io.Serializable; +import java.util.Objects; import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.core.Authentication; -import java.io.Serializable; -import java.util.Objects; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.serialization.View; +import de.thm.arsnova.security.User; /** * Represents a user. diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Comment.java b/src/main/java/de/thm/arsnova/model/migration/v2/Comment.java index c0d77c4fe..057deaf3f 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Comment.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Comment.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * A Comment (Interposed/Feedback/Audience question) from a attendee in a Room. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/CommentReadingCount.java b/src/main/java/de/thm/arsnova/model/migration/v2/CommentReadingCount.java index 7fe0f70bb..0a52b3bbe 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/CommentReadingCount.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/CommentReadingCount.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * Wrapper class for counting read and unread Comments for a Room or a single user. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Content.java b/src/main/java/de/thm/arsnova/model/migration/v2/Content.java index 6ea162654..24597bb43 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Content.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Content.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.util.ArrayList; import java.util.Date; import java.util.List; +import de.thm.arsnova.model.serialization.View; + /** * Represents Content (Skill/Lecturer Question) in a Room. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/DbUser.java b/src/main/java/de/thm/arsnova/model/migration/v2/DbUser.java index 18eb858a5..a54810bc9 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/DbUser.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/DbUser.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; + import de.thm.arsnova.model.serialization.View; /** diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Entity.java b/src/main/java/de/thm/arsnova/model/migration/v2/Entity.java index c76a7c1dd..6fdb5df89 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Entity.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Entity.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; + import de.thm.arsnova.model.serialization.View; public interface Entity { diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/LogEntry.java b/src/main/java/de/thm/arsnova/model/migration/v2/LogEntry.java index 8921c754f..522c3928c 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/LogEntry.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/LogEntry.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; - import java.util.Map; +import de.thm.arsnova.model.serialization.View; + public class LogEntry implements Entity { public enum LogLevel { TRACE, diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/LoggedIn.java b/src/main/java/de/thm/arsnova/model/migration/v2/LoggedIn.java index 0aa2ccab7..a34ebc862 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/LoggedIn.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/LoggedIn.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; - import java.util.ArrayList; import java.util.List; +import de.thm.arsnova.model.serialization.View; + /** * Once a user joins a session, this class is used to identify a returning user. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Motd.java b/src/main/java/de/thm/arsnova/model/migration/v2/Motd.java index d1db64876..68bb3f51a 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Motd.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Motd.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.util.Date; +import de.thm.arsnova.model.serialization.View; + /** * Represents a Message of the Day. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/MotdList.java b/src/main/java/de/thm/arsnova/model/migration/v2/MotdList.java index 6240b50a7..27ba44b0c 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/MotdList.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/MotdList.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * Contains a list of MotD IDs a user has acknowledged. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/Room.java b/src/main/java/de/thm/arsnova/model/migration/v2/Room.java index aa32d619c..489043a62 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/Room.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/Room.java @@ -15,15 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.ScoreOptions; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.ScoreOptions; +import de.thm.arsnova.model.serialization.View; + /** * Represents a Room (Session). */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/RoomFeature.java b/src/main/java/de/thm/arsnova/model/migration/v2/RoomFeature.java index e7786c3fb..2d377a2c8 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/RoomFeature.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/RoomFeature.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.io.Serializable; +import de.thm.arsnova.model.serialization.View; + /** * Contains fields that describe which specific Feature is activated for a Room. */ diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/RoomInfo.java b/src/main/java/de/thm/arsnova/model/migration/v2/RoomInfo.java index 528392b4d..0633186d0 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/RoomInfo.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/RoomInfo.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.util.ArrayList; import java.util.List; +import de.thm.arsnova.model.serialization.View; + /** * Summary information of a specific Room. For example, this is used to display list entries of a user's Rooms as well * as a user's Room History (Visited Rooms). diff --git a/src/main/java/de/thm/arsnova/model/migration/v2/VisitedRoom.java b/src/main/java/de/thm/arsnova/model/migration/v2/VisitedRoom.java index 9a21125db..aaed1ad9f 100644 --- a/src/main/java/de/thm/arsnova/model/migration/v2/VisitedRoom.java +++ b/src/main/java/de/thm/arsnova/model/migration/v2/VisitedRoom.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration.v2; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; +import de.thm.arsnova.model.serialization.View; + /** * A Room (Session) a user has visited previously. */ diff --git a/src/main/java/de/thm/arsnova/model/package-info.java b/src/main/java/de/thm/arsnova/model/package-info.java index 91ada1f83..f7971e9b6 100644 --- a/src/main/java/de/thm/arsnova/model/package-info.java +++ b/src/main/java/de/thm/arsnova/model/package-info.java @@ -1,4 +1,5 @@ /** * Classes to translate objects to and from JSON */ + package de.thm.arsnova.model; diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentMixIn.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentMixIn.java index c6bd96d08..554bf1103 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentMixIn.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentMixIn.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; + import de.thm.arsnova.model.Entity; @JsonIgnoreProperties(value = {"type"}, allowGetters = true) diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentModule.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentModule.java index 06a0b5475..546365644 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentModule.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentModule.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.databind.module.SimpleModule; + import de.thm.arsnova.model.Entity; public class CouchDbDocumentModule extends SimpleModule { diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentV2MixIn.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentV2MixIn.java index 4e06a77e6..7c962a834 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentV2MixIn.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbDocumentV2MixIn.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; + import de.thm.arsnova.model.Entity; @JsonIgnoreProperties(value = {"type"}, allowGetters = true) diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbObjectMapperFactory.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbObjectMapperFactory.java index be2518bb4..b53860bf6 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbObjectMapperFactory.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbObjectMapperFactory.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.databind.MapperFeature; diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldConverter.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldConverter.java index 76a30a25c..8f1b3293f 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldConverter.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldConverter.java @@ -15,11 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.util.Converter; + import de.thm.arsnova.model.Entity; public class CouchDbTypeFieldConverter implements Converter<Class<? extends Entity>, String> { diff --git a/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldV2Converter.java b/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldV2Converter.java index 41ee2c099..1744a8727 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldV2Converter.java +++ b/src/main/java/de/thm/arsnova/model/serialization/CouchDbTypeFieldV2Converter.java @@ -15,11 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.util.Converter; +import java.util.HashMap; +import java.util.Map; + import de.thm.arsnova.model.migration.v2.Answer; import de.thm.arsnova.model.migration.v2.Comment; import de.thm.arsnova.model.migration.v2.Content; @@ -30,9 +34,6 @@ import de.thm.arsnova.model.migration.v2.Motd; import de.thm.arsnova.model.migration.v2.MotdList; import de.thm.arsnova.model.migration.v2.Room; -import java.util.HashMap; -import java.util.Map; - public class CouchDbTypeFieldV2Converter implements Converter<Class<? extends Entity>, String> { private static final Map<Class<? extends Entity>, String> typeMapping = new HashMap<>(); diff --git a/src/main/java/de/thm/arsnova/model/serialization/FormatAnswerTypeIdResolver.java b/src/main/java/de/thm/arsnova/model/serialization/FormatAnswerTypeIdResolver.java index 903d9ca97..a415be14a 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/FormatAnswerTypeIdResolver.java +++ b/src/main/java/de/thm/arsnova/model/serialization/FormatAnswerTypeIdResolver.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -22,13 +23,13 @@ import com.fasterxml.jackson.databind.DatabindContext; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase; import com.fasterxml.jackson.databind.type.TypeFactory; +import java.io.IOException; + import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.ChoiceAnswer; import de.thm.arsnova.model.Content; import de.thm.arsnova.model.TextAnswer; -import java.io.IOException; - public class FormatAnswerTypeIdResolver extends TypeIdResolverBase { @Override public String idFromValue(final Object value) { diff --git a/src/main/java/de/thm/arsnova/model/serialization/FormatContentTypeIdResolver.java b/src/main/java/de/thm/arsnova/model/serialization/FormatContentTypeIdResolver.java index 431e17898..d52dc1f66 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/FormatContentTypeIdResolver.java +++ b/src/main/java/de/thm/arsnova/model/serialization/FormatContentTypeIdResolver.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; import com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -22,11 +23,11 @@ import com.fasterxml.jackson.databind.DatabindContext; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase; import com.fasterxml.jackson.databind.type.TypeFactory; +import java.io.IOException; + import de.thm.arsnova.model.ChoiceQuestionContent; import de.thm.arsnova.model.Content; -import java.io.IOException; - public class FormatContentTypeIdResolver extends TypeIdResolverBase { @Override public String idFromValue(final Object value) { diff --git a/src/main/java/de/thm/arsnova/model/serialization/View.java b/src/main/java/de/thm/arsnova/model/serialization/View.java index b97ab7860..93637926c 100644 --- a/src/main/java/de/thm/arsnova/model/serialization/View.java +++ b/src/main/java/de/thm/arsnova/model/serialization/View.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.serialization; public class View { diff --git a/src/main/java/de/thm/arsnova/model/transport/ImportExportContainer.java b/src/main/java/de/thm/arsnova/model/transport/ImportExportContainer.java index 9cfbee398..eb4bf7530 100644 --- a/src/main/java/de/thm/arsnova/model/transport/ImportExportContainer.java +++ b/src/main/java/de/thm/arsnova/model/transport/ImportExportContainer.java @@ -15,9 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.transport; import com.fasterxml.jackson.annotation.JsonView; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + import de.thm.arsnova.model.migration.v2.Answer; import de.thm.arsnova.model.migration.v2.ClientAuthentication; import de.thm.arsnova.model.migration.v2.Comment; @@ -27,12 +34,6 @@ import de.thm.arsnova.model.migration.v2.Room; import de.thm.arsnova.model.migration.v2.RoomFeature; import de.thm.arsnova.model.migration.v2.RoomInfo; import de.thm.arsnova.model.serialization.View; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; /** * This class is used to allow the import and export of a session. diff --git a/src/main/java/de/thm/arsnova/model/transport/ScoreStatistics.java b/src/main/java/de/thm/arsnova/model/transport/ScoreStatistics.java index ad042f23e..63dc193d5 100644 --- a/src/main/java/de/thm/arsnova/model/transport/ScoreStatistics.java +++ b/src/main/java/de/thm/arsnova/model/transport/ScoreStatistics.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.transport; import com.fasterxml.jackson.annotation.JsonView; -import de.thm.arsnova.model.serialization.View; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import de.thm.arsnova.model.serialization.View; + /** * The calculated score along with meta-data. */ diff --git a/src/main/java/de/thm/arsnova/model/transport/package-info.java b/src/main/java/de/thm/arsnova/model/transport/package-info.java index 39062cacc..c23f58518 100644 --- a/src/main/java/de/thm/arsnova/model/transport/package-info.java +++ b/src/main/java/de/thm/arsnova/model/transport/package-info.java @@ -4,4 +4,5 @@ * Since sometimes only a subset of properties are needed, sending the whole entity is a waste of bandwith. Therefore, * entities optimized for data transport are located here. */ + package de.thm.arsnova.model.transport; diff --git a/src/main/java/de/thm/arsnova/package-info.java b/src/main/java/de/thm/arsnova/package-info.java index b0aeba268..e961b44b2 100644 --- a/src/main/java/de/thm/arsnova/package-info.java +++ b/src/main/java/de/thm/arsnova/package-info.java @@ -1,4 +1,5 @@ /** * Miscellaneous classes and interfaces that do not fit in any of the given sub-packages */ + package de.thm.arsnova; diff --git a/src/main/java/de/thm/arsnova/persistence/AnswerRepository.java b/src/main/java/de/thm/arsnova/persistence/AnswerRepository.java index 97f60c10d..11a664b28 100644 --- a/src/main/java/de/thm/arsnova/persistence/AnswerRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/AnswerRepository.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence; +import java.util.List; + import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.AnswerStatistics; -import java.util.List; - public interface AnswerRepository extends CrudRepository<Answer, String> { <T extends Answer> T findByContentIdUserIdPiRound(String contentId, Class<T> type, String userId, int piRound); AnswerStatistics findByContentIdRound(String contentId, int round, final int optionCount); diff --git a/src/main/java/de/thm/arsnova/persistence/CommentRepository.java b/src/main/java/de/thm/arsnova/persistence/CommentRepository.java index d8735a96a..9fe9cf336 100644 --- a/src/main/java/de/thm/arsnova/persistence/CommentRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/CommentRepository.java @@ -1,10 +1,10 @@ package de.thm.arsnova.persistence; +import java.util.List; + import de.thm.arsnova.model.Comment; import de.thm.arsnova.model.migration.v2.CommentReadingCount; -import java.util.List; - public interface CommentRepository extends CrudRepository<Comment, String> { int countByRoomId(String roomId); CommentReadingCount countReadingByRoomId(String roomId); diff --git a/src/main/java/de/thm/arsnova/persistence/ContentRepository.java b/src/main/java/de/thm/arsnova/persistence/ContentRepository.java index 098eef74d..8bda32a10 100644 --- a/src/main/java/de/thm/arsnova/persistence/ContentRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/ContentRepository.java @@ -1,9 +1,9 @@ package de.thm.arsnova.persistence; -import de.thm.arsnova.model.Content; - import java.util.List; +import de.thm.arsnova.model.Content; + public interface ContentRepository extends CrudRepository<Content, String> { List<Content> findByRoomIdAndVariantAndActive(Object... keys); List<Content> findByRoomIdForUsers(String roomId); diff --git a/src/main/java/de/thm/arsnova/persistence/CrudRepository.java b/src/main/java/de/thm/arsnova/persistence/CrudRepository.java index 6553b84a9..ba71213bb 100644 --- a/src/main/java/de/thm/arsnova/persistence/CrudRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/CrudRepository.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence; /** diff --git a/src/main/java/de/thm/arsnova/persistence/LogEntryRepository.java b/src/main/java/de/thm/arsnova/persistence/LogEntryRepository.java index a788c01bf..368211ba9 100644 --- a/src/main/java/de/thm/arsnova/persistence/LogEntryRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/LogEntryRepository.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence; -import de.thm.arsnova.model.migration.v2.LogEntry; +package de.thm.arsnova.persistence; import java.util.HashMap; import java.util.Map; +import de.thm.arsnova.model.migration.v2.LogEntry; + public interface LogEntryRepository { /** * Logs an event to the database. Arbitrary data can be attached as payload. Database logging should only be used diff --git a/src/main/java/de/thm/arsnova/persistence/MotdRepository.java b/src/main/java/de/thm/arsnova/persistence/MotdRepository.java index e00a88cd8..93dbca61d 100644 --- a/src/main/java/de/thm/arsnova/persistence/MotdRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/MotdRepository.java @@ -15,12 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence; -import de.thm.arsnova.model.Motd; +package de.thm.arsnova.persistence; import java.util.List; +import de.thm.arsnova.model.Motd; + public interface MotdRepository extends CrudRepository<Motd, String> { List<Motd> findGlobalForAdmin(); List<Motd> findGlobalForAll(); diff --git a/src/main/java/de/thm/arsnova/persistence/RoomRepository.java b/src/main/java/de/thm/arsnova/persistence/RoomRepository.java index d2954c1dd..829f7877e 100644 --- a/src/main/java/de/thm/arsnova/persistence/RoomRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/RoomRepository.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence; +import java.util.List; + import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.model.Room; import de.thm.arsnova.model.migration.v2.ClientAuthentication; import de.thm.arsnova.model.transport.ImportExportContainer; -import java.util.List; - public interface RoomRepository extends CrudRepository<Room, String> { Room findByShortId(String shortId); List<Room> findInactiveGuestRoomsMetadata(long lastActivityBefore); diff --git a/src/main/java/de/thm/arsnova/persistence/SessionStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistence/SessionStatisticsRepository.java index 0e407aaf9..1050c4fbc 100644 --- a/src/main/java/de/thm/arsnova/persistence/SessionStatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/SessionStatisticsRepository.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence; import de.thm.arsnova.model.Room; diff --git a/src/main/java/de/thm/arsnova/persistence/StatisticsRepository.java b/src/main/java/de/thm/arsnova/persistence/StatisticsRepository.java index 015eff7de..388fecdd9 100644 --- a/src/main/java/de/thm/arsnova/persistence/StatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/StatisticsRepository.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence; import de.thm.arsnova.model.Statistics; diff --git a/src/main/java/de/thm/arsnova/persistence/UserRepository.java b/src/main/java/de/thm/arsnova/persistence/UserRepository.java index 7abcd9e67..c9db248c5 100644 --- a/src/main/java/de/thm/arsnova/persistence/UserRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/UserRepository.java @@ -15,12 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence; -import de.thm.arsnova.model.UserProfile; +package de.thm.arsnova.persistence; import java.util.List; +import de.thm.arsnova.model.UserProfile; + public interface UserRepository extends CrudRepository<UserProfile, String> { UserProfile findByAuthProviderAndLoginId(UserProfile.AuthProvider authProvider, String loginId); List<UserProfile> findByLoginId(String loginId); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java index 528c13c09..eb22d7bcc 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java @@ -15,13 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; import com.fasterxml.jackson.databind.JsonNode; -import de.thm.arsnova.model.Answer; -import de.thm.arsnova.model.AnswerStatistics; -import de.thm.arsnova.persistence.AnswerRepository; -import de.thm.arsnova.persistence.LogEntryRepository; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.ektorp.ComplexKey; import org.ektorp.CouchDbConnector; import org.ektorp.ViewResult; @@ -31,12 +34,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import de.thm.arsnova.model.Answer; +import de.thm.arsnova.model.AnswerStatistics; +import de.thm.arsnova.persistence.AnswerRepository; +import de.thm.arsnova.persistence.LogEntryRepository; public class CouchDbAnswerRepository extends CouchDbCrudRepository<Answer> implements AnswerRepository, ApplicationEventPublisherAware { private static final Logger logger = LoggerFactory.getLogger(CouchDbAnswerRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAttachmentRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAttachmentRepository.java index 5bc66743e..7ec663059 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAttachmentRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAttachmentRepository.java @@ -15,11 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; +import org.ektorp.CouchDbConnector; + import de.thm.arsnova.model.Attachment; import de.thm.arsnova.persistence.AttachmentRepository; -import org.ektorp.CouchDbConnector; public class CouchDbAttachmentRepository extends CouchDbCrudRepository<Attachment> implements AttachmentRepository { public CouchDbAttachmentRepository(final CouchDbConnector db, final boolean createIfNotExists) { diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCommentRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCommentRepository.java index 2f3202d55..aa4a44f81 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCommentRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCommentRepository.java @@ -15,13 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; import com.fasterxml.jackson.databind.JsonNode; -import de.thm.arsnova.model.Comment; -import de.thm.arsnova.model.migration.v2.CommentReadingCount; -import de.thm.arsnova.persistence.CommentRepository; -import de.thm.arsnova.persistence.LogEntryRepository; +import java.util.List; import org.ektorp.ComplexKey; import org.ektorp.CouchDbConnector; import org.ektorp.ViewResult; @@ -29,7 +27,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; +import de.thm.arsnova.model.Comment; +import de.thm.arsnova.model.migration.v2.CommentReadingCount; +import de.thm.arsnova.persistence.CommentRepository; +import de.thm.arsnova.persistence.LogEntryRepository; public class CouchDbCommentRepository extends CouchDbCrudRepository<Comment> implements CommentRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbCommentRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java index 4e8e9298f..30f657fdf 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java @@ -15,17 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.persistence.ContentRepository; -import de.thm.arsnova.persistence.LogEntryRepository; -import org.ektorp.ComplexKey; -import org.ektorp.CouchDbConnector; -import org.ektorp.ViewResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +package de.thm.arsnova.persistence.couchdb; import java.util.ArrayList; import java.util.Arrays; @@ -34,6 +25,16 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import org.ektorp.ComplexKey; +import org.ektorp.CouchDbConnector; +import org.ektorp.ViewResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import de.thm.arsnova.model.Content; +import de.thm.arsnova.persistence.ContentRepository; +import de.thm.arsnova.persistence.LogEntryRepository; public class CouchDbContentRepository extends CouchDbCrudRepository<Content> implements ContentRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbContentRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCrudRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCrudRepository.java index 1d1bee41b..b468703b3 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCrudRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbCrudRepository.java @@ -15,15 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.model.Entity; -import de.thm.arsnova.persistence.CrudRepository; -import org.ektorp.BulkDeleteDocument; -import org.ektorp.CouchDbConnector; -import org.ektorp.ViewResult; -import org.ektorp.support.CouchDbRepositorySupport; -import org.springframework.data.repository.NoRepositoryBean; +package de.thm.arsnova.persistence.couchdb; import java.util.Collection; import java.util.Collections; @@ -31,6 +24,14 @@ import java.util.List; import java.util.Optional; import java.util.function.BiConsumer; import java.util.stream.Collectors; +import org.ektorp.BulkDeleteDocument; +import org.ektorp.CouchDbConnector; +import org.ektorp.ViewResult; +import org.ektorp.support.CouchDbRepositorySupport; +import org.springframework.data.repository.NoRepositoryBean; + +import de.thm.arsnova.model.Entity; +import de.thm.arsnova.persistence.CrudRepository; @NoRepositoryBean abstract class CouchDbCrudRepository<T extends Entity> extends CouchDbRepositorySupport<T> implements CrudRepository<T, String> { diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbInitializer.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbInitializer.java index 4da1e17f5..0e5f7c168 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbInitializer.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbInitializer.java @@ -15,13 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import de.thm.arsnova.model.MigrationState; -import de.thm.arsnova.persistence.couchdb.migrations.MigrationExecutor; -import de.thm.arsnova.service.StatusService; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import javax.annotation.PostConstruct; +import javax.script.Bindings; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; import org.ektorp.CouchDbConnector; import org.ektorp.DbAccessException; import org.ektorp.DocumentNotFoundException; @@ -39,18 +49,9 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.stereotype.Component; import org.springframework.util.FileCopyUtils; -import javax.annotation.PostConstruct; -import javax.script.Bindings; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import de.thm.arsnova.model.MigrationState; +import de.thm.arsnova.persistence.couchdb.migrations.MigrationExecutor; +import de.thm.arsnova.service.StatusService; @Component public class CouchDbInitializer implements ResourceLoaderAware { diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbLogEntryRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbLogEntryRepository.java index 0c7b4fbe3..84d164bc4 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbLogEntryRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbLogEntryRepository.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.model.migration.v2.LogEntry; -import de.thm.arsnova.persistence.LogEntryRepository; +import java.util.Map; import org.ektorp.CouchDbConnector; import org.ektorp.support.CouchDbRepositorySupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Map; +import de.thm.arsnova.model.migration.v2.LogEntry; +import de.thm.arsnova.persistence.LogEntryRepository; public class CouchDbLogEntryRepository extends CouchDbRepositorySupport<LogEntry> implements LogEntryRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbLogEntryRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbMotdRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbMotdRepository.java index c39e96a69..7ede4c5ac 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbMotdRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbMotdRepository.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.model.Motd; -import de.thm.arsnova.persistence.MotdRepository; +import java.util.ArrayList; +import java.util.List; import org.ektorp.CouchDbConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; +import de.thm.arsnova.model.Motd; +import de.thm.arsnova.persistence.MotdRepository; public class CouchDbMotdRepository extends CouchDbCrudRepository<Motd> implements MotdRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbMotdRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbRoomRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbRoomRepository.java index 4ac435f1c..95ab3a69b 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbRoomRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbRoomRepository.java @@ -15,23 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.connector.model.Course; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.RoomStatistics; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; -import de.thm.arsnova.model.transport.ImportExportContainer; -import de.thm.arsnova.persistence.LogEntryRepository; -import de.thm.arsnova.persistence.MotdRepository; -import de.thm.arsnova.persistence.RoomRepository; -import org.ektorp.ComplexKey; -import org.ektorp.CouchDbConnector; -import org.ektorp.ViewQuery; -import org.ektorp.ViewResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +package de.thm.arsnova.persistence.couchdb; import java.io.IOException; import java.util.AbstractMap; @@ -42,6 +27,22 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import org.ektorp.ComplexKey; +import org.ektorp.CouchDbConnector; +import org.ektorp.ViewQuery; +import org.ektorp.ViewResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import de.thm.arsnova.connector.model.Course; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.RoomStatistics; +import de.thm.arsnova.model.migration.v2.ClientAuthentication; +import de.thm.arsnova.model.transport.ImportExportContainer; +import de.thm.arsnova.persistence.LogEntryRepository; +import de.thm.arsnova.persistence.MotdRepository; +import de.thm.arsnova.persistence.RoomRepository; public class CouchDbRoomRepository extends CouchDbCrudRepository<Room> implements RoomRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbRoomRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbSessionStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbSessionStatisticsRepository.java index 98edfb769..431dafe15 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbSessionStatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbSessionStatisticsRepository.java @@ -15,17 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; import com.fasterxml.jackson.databind.JsonNode; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.persistence.SessionStatisticsRepository; -import de.thm.arsnova.service.score.Score; import org.ektorp.ComplexKey; import org.ektorp.CouchDbConnector; import org.ektorp.ViewResult; import org.ektorp.support.CouchDbRepositorySupport; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.persistence.SessionStatisticsRepository; +import de.thm.arsnova.service.score.Score; + public class CouchDbSessionStatisticsRepository extends CouchDbRepositorySupport implements SessionStatisticsRepository { public CouchDbSessionStatisticsRepository(final CouchDbConnector db, final boolean createIfNotExists) { super(Object.class, db, "learning_progress", createIfNotExists); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbStatisticsRepository.java index 3b927de73..f2f43fb2d 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbStatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbStatisticsRepository.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; -import de.thm.arsnova.model.Statistics; -import de.thm.arsnova.persistence.StatisticsRepository; +import java.util.HashSet; +import java.util.Set; import org.ektorp.CouchDbConnector; import org.ektorp.DbAccessException; import org.ektorp.ViewResult; @@ -26,8 +27,8 @@ import org.ektorp.support.CouchDbRepositorySupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashSet; -import java.util.Set; +import de.thm.arsnova.model.Statistics; +import de.thm.arsnova.persistence.StatisticsRepository; public class CouchDbStatisticsRepository extends CouchDbRepositorySupport implements StatisticsRepository { private static final Logger logger = LoggerFactory.getLogger(CouchDbStatisticsRepository.class); diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbUserRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbUserRepository.java index adf972390..819f74c47 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbUserRepository.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbUserRepository.java @@ -15,11 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb; import com.google.common.collect.Lists; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.persistence.UserRepository; +import java.util.ArrayList; +import java.util.List; import org.ektorp.BulkDeleteDocument; import org.ektorp.ComplexKey; import org.ektorp.CouchDbConnector; @@ -30,8 +31,8 @@ import org.ektorp.ViewResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.persistence.UserRepository; public class CouchDbUserRepository extends CouchDbCrudRepository<UserProfile> implements UserRepository { private static final int BULK_PARTITION_SIZE = 500; diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrateFromLegacyCondition.java b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrateFromLegacyCondition.java index 9bd2aec27..69f6bc4bf 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrateFromLegacyCondition.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrateFromLegacyCondition.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.migrations; import org.springframework.context.annotation.Condition; diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/Migration.java b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/Migration.java index 9eb4deacc..3ff8265a9 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/Migration.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/Migration.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.migrations; public interface Migration { diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrationExecutor.java b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrationExecutor.java index 7dfd9fc03..9a7ee62dc 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrationExecutor.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/MigrationExecutor.java @@ -15,13 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.persistence.couchdb.migrations; -import de.thm.arsnova.model.MigrationState; -import org.checkerframework.checker.nullness.qual.NonNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; +package de.thm.arsnova.persistence.couchdb.migrations; import java.util.Collections; import java.util.Comparator; @@ -29,6 +24,12 @@ import java.util.Date; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.MigrationState; /** * Run necessary migrations based on the {@link MigrationState} to adjust data to the current entity models. diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/V2ToV3Migration.java b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/V2ToV3Migration.java index 4dcf7462d..054d0a980 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/V2ToV3Migration.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/migrations/V2ToV3Migration.java @@ -15,8 +15,25 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.migrations; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import org.ektorp.DbAccessException; +import org.ektorp.DocumentNotFoundException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Conditional; +import org.springframework.stereotype.Service; + import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.Comment; import de.thm.arsnova.model.Content; @@ -32,22 +49,6 @@ import de.thm.arsnova.persistence.RoomRepository; import de.thm.arsnova.persistence.UserRepository; import de.thm.arsnova.persistence.couchdb.support.MangoCouchDbConnector; import de.thm.arsnova.persistence.couchdb.support.PagedMangoResponse; -import org.ektorp.DbAccessException; -import org.ektorp.DocumentNotFoundException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.context.annotation.Conditional; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; /** * Performs the data migration from version 2 to version 3. diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoCouchDbConnector.java b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoCouchDbConnector.java index df99fe62e..66b495104 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoCouchDbConnector.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoCouchDbConnector.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.support; import com.fasterxml.jackson.annotation.JsonCreator; @@ -27,7 +28,12 @@ import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.util.Converter; -import de.thm.arsnova.model.serialization.View; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.ektorp.CouchDbInstance; import org.ektorp.DbAccessException; import org.ektorp.http.HttpResponse; @@ -37,12 +43,7 @@ import org.ektorp.impl.StdCouchDbConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import de.thm.arsnova.model.serialization.View; /** * This Connector adds a query method which uses CouchDB's Mango API to retrieve data. diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoQueryResultParser.java b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoQueryResultParser.java index 5841737af..6f58b8a05 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoQueryResultParser.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoQueryResultParser.java @@ -15,19 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.support; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.ObjectMapper; -import org.ektorp.DbAccessException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import org.ektorp.DbAccessException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class MangoQueryResultParser<T> { private static final String DOCS_FIELD_NAME = "docs"; diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoResponseHandler.java b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoResponseHandler.java index 1a0d59d99..a7b8195b1 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoResponseHandler.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/support/MangoResponseHandler.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.support; import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.List; import org.ektorp.http.HttpResponse; import org.ektorp.http.StdResponseHandler; import org.ektorp.util.Assert; -import java.util.List; - public class MangoResponseHandler<T> extends StdResponseHandler<List<T>> { private MangoQueryResultParser<T> parser; diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/support/PagedMangoResponse.java b/src/main/java/de/thm/arsnova/persistence/couchdb/support/PagedMangoResponse.java index c509de579..dd8cbff5d 100644 --- a/src/main/java/de/thm/arsnova/persistence/couchdb/support/PagedMangoResponse.java +++ b/src/main/java/de/thm/arsnova/persistence/couchdb/support/PagedMangoResponse.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.persistence.couchdb.support; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java index b1a1192b0..71e03b23c 100644 --- a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java +++ b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java @@ -15,8 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; +import java.io.Serializable; +import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.access.PermissionEvaluator; +import org.springframework.security.access.intercept.RunAsUserToken; +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Component; + import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.Comment; import de.thm.arsnova.model.Content; @@ -28,18 +41,6 @@ import de.thm.arsnova.persistence.CommentRepository; import de.thm.arsnova.persistence.ContentRepository; import de.thm.arsnova.persistence.MotdRepository; import de.thm.arsnova.persistence.RoomRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.access.PermissionEvaluator; -import org.springframework.security.access.intercept.RunAsUserToken; -import org.springframework.security.authentication.AnonymousAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.stereotype.Component; - -import java.io.Serializable; -import java.util.Arrays; /** * Provides access control methods that can be used in annotations. diff --git a/src/main/java/de/thm/arsnova/security/CasLogoutSuccessHandler.java b/src/main/java/de/thm/arsnova/security/CasLogoutSuccessHandler.java index 0e37134e1..4ae26b672 100644 --- a/src/main/java/de/thm/arsnova/security/CasLogoutSuccessHandler.java +++ b/src/main/java/de/thm/arsnova/security/CasLogoutSuccessHandler.java @@ -15,8 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; @@ -24,11 +29,6 @@ import org.springframework.security.web.DefaultRedirectStrategy; import org.springframework.security.web.RedirectStrategy; import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - /** * This class gets called when a user has been successfully logged out from CAS. */ diff --git a/src/main/java/de/thm/arsnova/security/CasUserDetailsService.java b/src/main/java/de/thm/arsnova/security/CasUserDetailsService.java index cd04bcede..59dce24a0 100644 --- a/src/main/java/de/thm/arsnova/security/CasUserDetailsService.java +++ b/src/main/java/de/thm/arsnova/security/CasUserDetailsService.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; +import java.util.HashSet; +import java.util.Set; import org.jasig.cas.client.validation.Assertion; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.cas.userdetails.AbstractCasAssertionUserDetailsService; @@ -27,8 +28,8 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Service; -import java.util.HashSet; -import java.util.Set; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; /** * Class to load a user based on the results from CAS. diff --git a/src/main/java/de/thm/arsnova/security/CustomLdapUserDetailsMapper.java b/src/main/java/de/thm/arsnova/security/CustomLdapUserDetailsMapper.java index 7ea5d4310..4efa3c1c8 100644 --- a/src/main/java/de/thm/arsnova/security/CustomLdapUserDetailsMapper.java +++ b/src/main/java/de/thm/arsnova/security/CustomLdapUserDetailsMapper.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; +import java.util.Collection; +import java.util.HashSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -28,8 +29,8 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.ldap.userdetails.LdapUserDetailsMapper; -import java.util.Collection; -import java.util.HashSet; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; /** * Replaces the user ID provided by the authenticating user with the one that is part of LDAP object. This is necessary diff --git a/src/main/java/de/thm/arsnova/security/GuestUserDetailsService.java b/src/main/java/de/thm/arsnova/security/GuestUserDetailsService.java index e274c34bd..01b5af53a 100644 --- a/src/main/java/de/thm/arsnova/security/GuestUserDetailsService.java +++ b/src/main/java/de/thm/arsnova/security/GuestUserDetailsService.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; +import java.util.Collection; +import java.util.HashSet; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -26,8 +27,8 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.HashSet; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; /** * Loads UserDetails for a guest user ({@link UserProfile.AuthProvider#ARSNOVA_GUEST}) based on the username (guest diff --git a/src/main/java/de/thm/arsnova/security/LoginAuthenticationFailureHandler.java b/src/main/java/de/thm/arsnova/security/LoginAuthenticationFailureHandler.java index f625f049b..c86605d86 100644 --- a/src/main/java/de/thm/arsnova/security/LoginAuthenticationFailureHandler.java +++ b/src/main/java/de/thm/arsnova/security/LoginAuthenticationFailureHandler.java @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.security; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.web.DefaultRedirectStrategy; -import org.springframework.security.web.RedirectStrategy; -import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; +package de.thm.arsnova.security; +import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import java.io.IOException; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.DefaultRedirectStrategy; +import org.springframework.security.web.RedirectStrategy; +import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; /** diff --git a/src/main/java/de/thm/arsnova/security/LoginAuthenticationSucessHandler.java b/src/main/java/de/thm/arsnova/security/LoginAuthenticationSucessHandler.java index 58839bbb5..ce57a0fa8 100644 --- a/src/main/java/de/thm/arsnova/security/LoginAuthenticationSucessHandler.java +++ b/src/main/java/de/thm/arsnova/security/LoginAuthenticationSucessHandler.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.security; -import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; +package de.thm.arsnova.security; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; /** * This class gets called when a user successfully logged in. diff --git a/src/main/java/de/thm/arsnova/security/RegisteredUserDetailsService.java b/src/main/java/de/thm/arsnova/security/RegisteredUserDetailsService.java index 948d96f03..d77344e5c 100644 --- a/src/main/java/de/thm/arsnova/security/RegisteredUserDetailsService.java +++ b/src/main/java/de/thm/arsnova/security/RegisteredUserDetailsService.java @@ -15,10 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.service.UserService; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -27,9 +29,8 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.service.UserService; /** * Loads UserDetails for a registered user ({@link UserProfile.AuthProvider#ARSNOVA}) based on the username (loginId). diff --git a/src/main/java/de/thm/arsnova/security/User.java b/src/main/java/de/thm/arsnova/security/User.java index 2c4099003..8a1f51e15 100644 --- a/src/main/java/de/thm/arsnova/security/User.java +++ b/src/main/java/de/thm/arsnova/security/User.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; +import java.util.Collection; import org.springframework.security.core.GrantedAuthority; -import java.util.Collection; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.v2.ClientAuthentication; /** * UserDetails implementation which identifies a user by internal (database) and external (AuthProvider + loginId) ID. diff --git a/src/main/java/de/thm/arsnova/security/jwt/JwtAuthenticationProvider.java b/src/main/java/de/thm/arsnova/security/jwt/JwtAuthenticationProvider.java index 58725b3f9..2b743b994 100644 --- a/src/main/java/de/thm/arsnova/security/jwt/JwtAuthenticationProvider.java +++ b/src/main/java/de/thm/arsnova/security/jwt/JwtAuthenticationProvider.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.jwt; -import de.thm.arsnova.security.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; +import de.thm.arsnova.security.User; + public class JwtAuthenticationProvider implements AuthenticationProvider { private JwtService jwtService; diff --git a/src/main/java/de/thm/arsnova/security/jwt/JwtService.java b/src/main/java/de/thm/arsnova/security/jwt/JwtService.java index 8592d0e81..3ebafe67a 100644 --- a/src/main/java/de/thm/arsnova/security/jwt/JwtService.java +++ b/src/main/java/de/thm/arsnova/security/jwt/JwtService.java @@ -15,20 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.jwt; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.stereotype.Service; - import java.io.UnsupportedEncodingException; import java.time.Duration; import java.time.LocalDateTime; @@ -37,6 +30,14 @@ import java.time.temporal.TemporalAmount; import java.util.Collection; import java.util.Date; import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; @Service public class JwtService { diff --git a/src/main/java/de/thm/arsnova/security/jwt/JwtToken.java b/src/main/java/de/thm/arsnova/security/jwt/JwtToken.java index 2117214e2..69fff454b 100644 --- a/src/main/java/de/thm/arsnova/security/jwt/JwtToken.java +++ b/src/main/java/de/thm/arsnova/security/jwt/JwtToken.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.jwt; -import de.thm.arsnova.security.User; +import java.util.Collection; +import java.util.Collections; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.GrantedAuthority; -import java.util.Collection; -import java.util.Collections; +import de.thm.arsnova.security.User; public class JwtToken extends AbstractAuthenticationToken { private String token; diff --git a/src/main/java/de/thm/arsnova/security/jwt/JwtTokenFilter.java b/src/main/java/de/thm/arsnova/security/jwt/JwtTokenFilter.java index c40c92e48..b076c61f9 100644 --- a/src/main/java/de/thm/arsnova/security/jwt/JwtTokenFilter.java +++ b/src/main/java/de/thm/arsnova/security/jwt/JwtTokenFilter.java @@ -15,8 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.jwt; +import java.io.IOException; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -25,13 +32,6 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.web.filter.GenericFilterBean; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; - @Component public class JwtTokenFilter extends GenericFilterBean { private static final String JWT_HEADER_NAME = "Arsnova-Auth-Token"; diff --git a/src/main/java/de/thm/arsnova/security/pac4j/OAuthToken.java b/src/main/java/de/thm/arsnova/security/pac4j/OAuthToken.java index 31888b326..31d05e17c 100644 --- a/src/main/java/de/thm/arsnova/security/pac4j/OAuthToken.java +++ b/src/main/java/de/thm/arsnova/security/pac4j/OAuthToken.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.pac4j; -import de.thm.arsnova.security.User; +import java.util.Collection; import org.pac4j.core.profile.CommonProfile; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.GrantedAuthority; -import java.util.Collection; +import de.thm.arsnova.security.User; /** * Authentication token implementation for OAuth. diff --git a/src/main/java/de/thm/arsnova/security/pac4j/OauthAuthenticationProvider.java b/src/main/java/de/thm/arsnova/security/pac4j/OauthAuthenticationProvider.java index f1708d894..6cbe8f9d2 100644 --- a/src/main/java/de/thm/arsnova/security/pac4j/OauthAuthenticationProvider.java +++ b/src/main/java/de/thm/arsnova/security/pac4j/OauthAuthenticationProvider.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.pac4j; -import de.thm.arsnova.security.User; import org.pac4j.core.profile.CommonProfile; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationProvider; @@ -25,6 +25,8 @@ import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.stereotype.Component; +import de.thm.arsnova.security.User; + /** * Sets up the SecurityContext OAuth users. * diff --git a/src/main/java/de/thm/arsnova/security/pac4j/OauthCallbackFilter.java b/src/main/java/de/thm/arsnova/security/pac4j/OauthCallbackFilter.java index 4746e07cb..a4f7efd04 100644 --- a/src/main/java/de/thm/arsnova/security/pac4j/OauthCallbackFilter.java +++ b/src/main/java/de/thm/arsnova/security/pac4j/OauthCallbackFilter.java @@ -15,8 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.pac4j; +import java.util.Collections; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.pac4j.core.client.Client; import org.pac4j.core.client.Clients; import org.pac4j.core.client.IndirectClient; @@ -37,11 +42,6 @@ import org.springframework.security.web.authentication.AbstractAuthenticationPro import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Collections; -import java.util.List; - /** * Handles callback requests by login redirects from OAuth providers. * diff --git a/src/main/java/de/thm/arsnova/security/pac4j/OauthUserDetailsService.java b/src/main/java/de/thm/arsnova/security/pac4j/OauthUserDetailsService.java index 16878a136..f81eec48f 100644 --- a/src/main/java/de/thm/arsnova/security/pac4j/OauthUserDetailsService.java +++ b/src/main/java/de/thm/arsnova/security/pac4j/OauthUserDetailsService.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.security.pac4j; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; +import java.util.Collection; +import java.util.HashSet; import org.pac4j.oauth.profile.facebook.FacebookProfile; import org.pac4j.oauth.profile.twitter.TwitterProfile; import org.pac4j.oidc.profile.OidcProfile; @@ -30,8 +30,9 @@ import org.springframework.security.core.userdetails.AuthenticationUserDetailsSe import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.HashSet; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; /** * Loads UserDetails for an OAuth user (e.g. {@link UserProfile.AuthProvider#GOOGLE}) based on an unique identifier diff --git a/src/main/java/de/thm/arsnova/security/package-info.java b/src/main/java/de/thm/arsnova/security/package-info.java index 193d89746..399923049 100644 --- a/src/main/java/de/thm/arsnova/security/package-info.java +++ b/src/main/java/de/thm/arsnova/security/package-info.java @@ -2,4 +2,5 @@ * @author Paul-Christian Volkmer * */ + package de.thm.arsnova.security; diff --git a/src/main/java/de/thm/arsnova/service/AnswerService.java b/src/main/java/de/thm/arsnova/service/AnswerService.java index 58cd210a5..594d154d3 100644 --- a/src/main/java/de/thm/arsnova/service/AnswerService.java +++ b/src/main/java/de/thm/arsnova/service/AnswerService.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.util.List; +import java.util.Map; + import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.AnswerStatistics; import de.thm.arsnova.model.TextAnswer; -import java.util.List; -import java.util.Map; - public interface AnswerService extends EntityService<Answer> { Answer getMyAnswer(String contentId); diff --git a/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java b/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java index 021e0b1d7..96c1ce6e1 100644 --- a/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java @@ -15,8 +15,27 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; +import org.ektorp.DbAccessException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.event.EventListener; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.security.access.annotation.Secured; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Service; + import de.thm.arsnova.event.AfterCreationEvent; import de.thm.arsnova.event.BeforeCreationEvent; import de.thm.arsnova.event.BeforeDeletionEvent; @@ -30,24 +49,6 @@ import de.thm.arsnova.persistence.AnswerRepository; import de.thm.arsnova.security.User; import de.thm.arsnova.web.exceptions.NotFoundException; import de.thm.arsnova.web.exceptions.UnauthorizedException; -import org.ektorp.DbAccessException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.context.event.EventListener; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.security.access.annotation.Secured; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; /** * Performs all answer related operations. diff --git a/src/main/java/de/thm/arsnova/service/AttachmentService.java b/src/main/java/de/thm/arsnova/service/AttachmentService.java index cae650099..5be66aa84 100644 --- a/src/main/java/de/thm/arsnova/service/AttachmentService.java +++ b/src/main/java/de/thm/arsnova/service/AttachmentService.java @@ -15,11 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.model.Attachment; import org.springframework.web.multipart.MultipartFile; +import de.thm.arsnova.model.Attachment; + public interface AttachmentService extends EntityService<Attachment> { void upload(Attachment attachment, MultipartFile file); void download(Attachment attachment); diff --git a/src/main/java/de/thm/arsnova/service/AttachmentServiceImpl.java b/src/main/java/de/thm/arsnova/service/AttachmentServiceImpl.java index ad8b4bae5..d0da4bf28 100644 --- a/src/main/java/de/thm/arsnova/service/AttachmentServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/AttachmentServiceImpl.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.model.Attachment; -import de.thm.arsnova.persistence.AttachmentRepository; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.multipart.MultipartFile; +import de.thm.arsnova.model.Attachment; +import de.thm.arsnova.persistence.AttachmentRepository; + public class AttachmentServiceImpl extends DefaultEntityServiceImpl<Attachment> implements AttachmentService { private AttachmentRepository attachmentRepository; diff --git a/src/main/java/de/thm/arsnova/service/CommentFindQueryService.java b/src/main/java/de/thm/arsnova/service/CommentFindQueryService.java index acdecead3..f8841bb6e 100644 --- a/src/main/java/de/thm/arsnova/service/CommentFindQueryService.java +++ b/src/main/java/de/thm/arsnova/service/CommentFindQueryService.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Comment; -import de.thm.arsnova.model.FindQuery; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.HashSet; import java.util.Set; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.Comment; +import de.thm.arsnova.model.FindQuery; @Service public class CommentFindQueryService implements FindQueryService<Comment> { diff --git a/src/main/java/de/thm/arsnova/service/CommentService.java b/src/main/java/de/thm/arsnova/service/CommentService.java index 336f0d578..efddd0a52 100644 --- a/src/main/java/de/thm/arsnova/service/CommentService.java +++ b/src/main/java/de/thm/arsnova/service/CommentService.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Comment; -import de.thm.arsnova.model.migration.v2.CommentReadingCount; +package de.thm.arsnova.service; import java.io.IOException; import java.util.List; +import de.thm.arsnova.model.Comment; +import de.thm.arsnova.model.migration.v2.CommentReadingCount; + public interface CommentService extends EntityService<Comment> { int count(String roomId); diff --git a/src/main/java/de/thm/arsnova/service/CommentServiceImpl.java b/src/main/java/de/thm/arsnova/service/CommentServiceImpl.java index 1613089ee..0ee2f04a7 100644 --- a/src/main/java/de/thm/arsnova/service/CommentServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/CommentServiceImpl.java @@ -15,8 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.event.EventListener; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.security.access.annotation.Secured; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Service; + import de.thm.arsnova.event.BeforeDeletionEvent; import de.thm.arsnova.model.Comment; import de.thm.arsnova.model.Room; @@ -26,18 +39,6 @@ import de.thm.arsnova.security.User; import de.thm.arsnova.web.exceptions.ForbiddenException; import de.thm.arsnova.web.exceptions.NotFoundException; import de.thm.arsnova.web.exceptions.UnauthorizedException; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.context.event.EventListener; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.security.access.annotation.Secured; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * Performs all comment related operations. diff --git a/src/main/java/de/thm/arsnova/service/ContentFindQueryService.java b/src/main/java/de/thm/arsnova/service/ContentFindQueryService.java index c75a5c86c..0a20659cc 100644 --- a/src/main/java/de/thm/arsnova/service/ContentFindQueryService.java +++ b/src/main/java/de/thm/arsnova/service/ContentFindQueryService.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.model.FindQuery; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.Content; +import de.thm.arsnova.model.FindQuery; @Service public class ContentFindQueryService implements FindQueryService<Content> { diff --git a/src/main/java/de/thm/arsnova/service/ContentService.java b/src/main/java/de/thm/arsnova/service/ContentService.java index 35fc2d644..25e0c7285 100644 --- a/src/main/java/de/thm/arsnova/service/ContentService.java +++ b/src/main/java/de/thm/arsnova/service/ContentService.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Content; +package de.thm.arsnova.service; import java.io.IOException; import java.util.List; +import de.thm.arsnova.model.Content; + /** * The functionality the question service should provide. */ diff --git a/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java b/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java index 4418f2511..eb345cff9 100644 --- a/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.event.BeforeDeletionEvent; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.Room.ContentGroup; -import de.thm.arsnova.persistence.AnswerRepository; -import de.thm.arsnova.persistence.ContentRepository; -import de.thm.arsnova.persistence.LogEntryRepository; -import de.thm.arsnova.security.User; -import de.thm.arsnova.web.exceptions.NotFoundException; -import de.thm.arsnova.web.exceptions.UnauthorizedException; +import java.io.IOException; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,15 +39,16 @@ import org.springframework.security.access.annotation.Secured; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Service; -import java.io.IOException; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; +import de.thm.arsnova.event.BeforeDeletionEvent; +import de.thm.arsnova.model.Content; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.Room.ContentGroup; +import de.thm.arsnova.persistence.AnswerRepository; +import de.thm.arsnova.persistence.ContentRepository; +import de.thm.arsnova.persistence.LogEntryRepository; +import de.thm.arsnova.security.User; +import de.thm.arsnova.web.exceptions.NotFoundException; +import de.thm.arsnova.web.exceptions.UnauthorizedException; /** * Performs all content related operations. diff --git a/src/main/java/de/thm/arsnova/service/DefaultEntityServiceImpl.java b/src/main/java/de/thm/arsnova/service/DefaultEntityServiceImpl.java index b1a597243..b303c12c4 100644 --- a/src/main/java/de/thm/arsnova/service/DefaultEntityServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/DefaultEntityServiceImpl.java @@ -15,11 +15,26 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectReader; +import java.io.IOException; +import java.util.Date; +import java.util.Map; +import java.util.function.Function; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.event.EventListener; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.security.access.prepost.PreFilter; +import org.springframework.stereotype.Component; + import de.thm.arsnova.event.AfterCreationEvent; import de.thm.arsnova.event.AfterDeletionEvent; import de.thm.arsnova.event.AfterFullUpdateEvent; @@ -33,21 +48,6 @@ import de.thm.arsnova.model.Entity; import de.thm.arsnova.model.serialization.View; import de.thm.arsnova.persistence.CrudRepository; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.ApplicationEventPublisherAware; -import org.springframework.context.event.EventListener; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.access.prepost.PreFilter; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.util.Date; -import java.util.Map; -import java.util.function.Function; - /** * Default implementation of {@link EntityService} which provides CRUD operations for entities independently from the * underlying persistence implementation. Authorization for entities is checked before any operation is performed. diff --git a/src/main/java/de/thm/arsnova/service/EntityService.java b/src/main/java/de/thm/arsnova/service/EntityService.java index 51bb56a7e..61897e68b 100644 --- a/src/main/java/de/thm/arsnova/service/EntityService.java +++ b/src/main/java/de/thm/arsnova/service/EntityService.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Entity; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.access.prepost.PreFilter; +package de.thm.arsnova.service; import java.io.IOException; import java.util.Map; import java.util.function.Function; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.security.access.prepost.PreFilter; + +import de.thm.arsnova.model.Entity; /** * Provides CRUD operations for entities independently from the underlying persistence implementation. diff --git a/src/main/java/de/thm/arsnova/service/FeedbackService.java b/src/main/java/de/thm/arsnova/service/FeedbackService.java index d096f8fb2..b36336af3 100644 --- a/src/main/java/de/thm/arsnova/service/FeedbackService.java +++ b/src/main/java/de/thm/arsnova/service/FeedbackService.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import de.thm.arsnova.model.Feedback; diff --git a/src/main/java/de/thm/arsnova/service/FeedbackServiceImpl.java b/src/main/java/de/thm/arsnova/service/FeedbackServiceImpl.java index a17897c26..3de6be8f5 100644 --- a/src/main/java/de/thm/arsnova/service/FeedbackServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/FeedbackServiceImpl.java @@ -15,21 +15,26 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.event.DeleteFeedbackForRoomsEvent; -import de.thm.arsnova.event.NewFeedbackEvent; -import de.thm.arsnova.model.Feedback; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.web.exceptions.NoContentException; -import de.thm.arsnova.web.exceptions.NotFoundException; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import java.util.*; +import de.thm.arsnova.event.DeleteFeedbackForRoomsEvent; +import de.thm.arsnova.event.NewFeedbackEvent; +import de.thm.arsnova.model.Feedback; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.web.exceptions.NoContentException; +import de.thm.arsnova.web.exceptions.NotFoundException; /** * Performs all feedback related operations. diff --git a/src/main/java/de/thm/arsnova/service/FeedbackStorageService.java b/src/main/java/de/thm/arsnova/service/FeedbackStorageService.java index d2add366c..0a5434684 100644 --- a/src/main/java/de/thm/arsnova/service/FeedbackStorageService.java +++ b/src/main/java/de/thm/arsnova/service/FeedbackStorageService.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Feedback; -import de.thm.arsnova.model.Room; +package de.thm.arsnova.service; import java.util.List; import java.util.Map; +import de.thm.arsnova.model.Feedback; +import de.thm.arsnova.model.Room; + public interface FeedbackStorageService { Feedback getByRoom(Room room); Integer getByRoomAndUserId(Room room, String userId); diff --git a/src/main/java/de/thm/arsnova/service/FeedbackStorageServiceImpl.java b/src/main/java/de/thm/arsnova/service/FeedbackStorageServiceImpl.java index e85713d68..82a6e4250 100644 --- a/src/main/java/de/thm/arsnova/service/FeedbackStorageServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/FeedbackStorageServiceImpl.java @@ -15,15 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Feedback; -import de.thm.arsnova.model.Room; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Isolation; -import org.springframework.transaction.annotation.Transactional; +package de.thm.arsnova.service; import java.util.ArrayList; import java.util.Date; @@ -32,6 +25,14 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Isolation; +import org.springframework.transaction.annotation.Transactional; + +import de.thm.arsnova.model.Feedback; +import de.thm.arsnova.model.Room; /** * In-memory storage of feedback data. diff --git a/src/main/java/de/thm/arsnova/service/FindQueryService.java b/src/main/java/de/thm/arsnova/service/FindQueryService.java index 24d4e8e40..ebb5e2d57 100644 --- a/src/main/java/de/thm/arsnova/service/FindQueryService.java +++ b/src/main/java/de/thm/arsnova/service/FindQueryService.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.util.Set; + import de.thm.arsnova.model.Entity; import de.thm.arsnova.model.FindQuery; -import java.util.Set; - /** * * @param <E> Entity type diff --git a/src/main/java/de/thm/arsnova/service/MotdService.java b/src/main/java/de/thm/arsnova/service/MotdService.java index f03740ddd..ca328ef7e 100644 --- a/src/main/java/de/thm/arsnova/service/MotdService.java +++ b/src/main/java/de/thm/arsnova/service/MotdService.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Motd; +package de.thm.arsnova.service; import java.util.Date; import java.util.List; +import de.thm.arsnova.model.Motd; + /** * The functionality the motd service should provide. */ diff --git a/src/main/java/de/thm/arsnova/service/MotdServiceImpl.java b/src/main/java/de/thm/arsnova/service/MotdServiceImpl.java index 589d0bdaa..f9b18be65 100644 --- a/src/main/java/de/thm/arsnova/service/MotdServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/MotdServiceImpl.java @@ -15,12 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.model.Motd; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.persistence.MotdRepository; -import de.thm.arsnova.web.exceptions.BadRequestException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -28,10 +29,10 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; +import de.thm.arsnova.model.Motd; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.persistence.MotdRepository; +import de.thm.arsnova.web.exceptions.BadRequestException; /** * Performs all question, interposed question, and answer related operations. diff --git a/src/main/java/de/thm/arsnova/service/ResponseProviderService.java b/src/main/java/de/thm/arsnova/service/ResponseProviderService.java index 7b59f4f4c..ce683584e 100644 --- a/src/main/java/de/thm/arsnova/service/ResponseProviderService.java +++ b/src/main/java/de/thm/arsnova/service/ResponseProviderService.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import javax.servlet.http.HttpServletResponse; diff --git a/src/main/java/de/thm/arsnova/service/ResponseProviderServiceImpl.java b/src/main/java/de/thm/arsnova/service/ResponseProviderServiceImpl.java index 6a6c310f4..c50b8c5fa 100644 --- a/src/main/java/de/thm/arsnova/service/ResponseProviderServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/ResponseProviderServiceImpl.java @@ -15,14 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import javax.servlet.http.HttpServletResponse; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.stereotype.Service; -import javax.servlet.http.HttpServletResponse; - @Service @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) public class ResponseProviderServiceImpl implements ResponseProviderService { diff --git a/src/main/java/de/thm/arsnova/service/RoomFindQueryService.java b/src/main/java/de/thm/arsnova/service/RoomFindQueryService.java index e2fd89cfd..12c6b84f2 100644 --- a/src/main/java/de/thm/arsnova/service/RoomFindQueryService.java +++ b/src/main/java/de/thm/arsnova/service/RoomFindQueryService.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.FindQuery; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.UserProfile; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.FindQuery; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.UserProfile; @Service public class RoomFindQueryService implements FindQueryService<Room> { diff --git a/src/main/java/de/thm/arsnova/service/RoomService.java b/src/main/java/de/thm/arsnova/service/RoomService.java index d32fbbaec..f8a225a26 100644 --- a/src/main/java/de/thm/arsnova/service/RoomService.java +++ b/src/main/java/de/thm/arsnova/service/RoomService.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.io.IOException; +import java.util.List; +import java.util.UUID; + import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.model.Room; import de.thm.arsnova.model.transport.ImportExportContainer; import de.thm.arsnova.model.transport.ScoreStatistics; -import java.io.IOException; -import java.util.List; -import java.util.UUID; - /** * The functionality the session service should provide. */ diff --git a/src/main/java/de/thm/arsnova/service/RoomServiceImpl.java b/src/main/java/de/thm/arsnova/service/RoomServiceImpl.java index a58aa2252..177417f79 100644 --- a/src/main/java/de/thm/arsnova/service/RoomServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/RoomServiceImpl.java @@ -15,8 +15,32 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.cache.annotation.Caching; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Service; + import de.thm.arsnova.connector.client.ConnectorClient; import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.event.FlipFlashcardsEvent; @@ -34,29 +58,6 @@ import de.thm.arsnova.service.score.ScoreCalculator; import de.thm.arsnova.service.score.ScoreCalculatorFactory; import de.thm.arsnova.web.exceptions.ForbiddenException; import de.thm.arsnova.web.exceptions.NotFoundException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.cache.annotation.Caching; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; -import java.util.stream.Collectors; /** * Performs all room related operations. diff --git a/src/main/java/de/thm/arsnova/service/StatisticsService.java b/src/main/java/de/thm/arsnova/service/StatisticsService.java index fa461a7c3..0a594a9b3 100644 --- a/src/main/java/de/thm/arsnova/service/StatisticsService.java +++ b/src/main/java/de/thm/arsnova/service/StatisticsService.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import de.thm.arsnova.model.Statistics; diff --git a/src/main/java/de/thm/arsnova/service/StatisticsServiceImpl.java b/src/main/java/de/thm/arsnova/service/StatisticsServiceImpl.java index 6b95c0716..e92a7f576 100644 --- a/src/main/java/de/thm/arsnova/service/StatisticsServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/StatisticsServiceImpl.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.model.Statistics; -import de.thm.arsnova.persistence.StatisticsRepository; import org.springframework.cache.annotation.Cacheable; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import de.thm.arsnova.model.Statistics; +import de.thm.arsnova.persistence.StatisticsRepository; + /** * Performs all statistics related operations. To reduce pressure on the database, data is cached for a fixed amount of * time. diff --git a/src/main/java/de/thm/arsnova/service/StatusService.java b/src/main/java/de/thm/arsnova/service/StatusService.java index 3ab8b0586..0df938af8 100644 --- a/src/main/java/de/thm/arsnova/service/StatusService.java +++ b/src/main/java/de/thm/arsnova/service/StatusService.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/service/StatusServiceImpl.java b/src/main/java/de/thm/arsnova/service/StatusServiceImpl.java index 94004233e..d165f179b 100644 --- a/src/main/java/de/thm/arsnova/service/StatusServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/StatusServiceImpl.java @@ -15,12 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.HashMap; import java.util.Map; +import org.springframework.stereotype.Service; /** * Keeps track of maintenance reasons registered by other components. While at least one maintenance reason is active, diff --git a/src/main/java/de/thm/arsnova/service/TimerService.java b/src/main/java/de/thm/arsnova/service/TimerService.java index 972de6ea8..853705d58 100644 --- a/src/main/java/de/thm/arsnova/service/TimerService.java +++ b/src/main/java/de/thm/arsnova/service/TimerService.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; public interface TimerService { diff --git a/src/main/java/de/thm/arsnova/service/TimerServiceImpl.java b/src/main/java/de/thm/arsnova/service/TimerServiceImpl.java index 5c18e1924..50fcbfbbf 100644 --- a/src/main/java/de/thm/arsnova/service/TimerServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/TimerServiceImpl.java @@ -15,20 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.persistence.AnswerRepository; -import de.thm.arsnova.security.User; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.Date; import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.Content; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.persistence.AnswerRepository; +import de.thm.arsnova.security.User; @Service public class TimerServiceImpl implements TimerService { diff --git a/src/main/java/de/thm/arsnova/service/UserFindQueryService.java b/src/main/java/de/thm/arsnova/service/UserFindQueryService.java index a2d5511ac..6e4d5f23b 100644 --- a/src/main/java/de/thm/arsnova/service/UserFindQueryService.java +++ b/src/main/java/de/thm/arsnova/service/UserFindQueryService.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.FindQuery; -import de.thm.arsnova.model.UserProfile; -import org.springframework.stereotype.Service; +package de.thm.arsnova.service; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.springframework.stereotype.Service; + +import de.thm.arsnova.model.FindQuery; +import de.thm.arsnova.model.UserProfile; @Service public class UserFindQueryService implements FindQueryService<UserProfile> { diff --git a/src/main/java/de/thm/arsnova/service/UserService.java b/src/main/java/de/thm/arsnova/service/UserService.java index 3ef754be9..fd09780c5 100644 --- a/src/main/java/de/thm/arsnova/service/UserService.java +++ b/src/main/java/de/thm/arsnova/service/UserService.java @@ -15,20 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.security.User; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.userdetails.UsernameNotFoundException; +package de.thm.arsnova.service; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UsernameNotFoundException; + +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.security.User; /** * The functionality the user service should provide. diff --git a/src/main/java/de/thm/arsnova/service/UserServiceImpl.java b/src/main/java/de/thm/arsnova/service/UserServiceImpl.java index c0b6f08b6..7796fb5ac 100644 --- a/src/main/java/de/thm/arsnova/service/UserServiceImpl.java +++ b/src/main/java/de/thm/arsnova/service/UserServiceImpl.java @@ -15,20 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; import com.codahale.metrics.annotation.Gauge; -import de.thm.arsnova.model.ClientAuthentication; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.persistence.UserRepository; -import de.thm.arsnova.security.GuestUserDetailsService; -import de.thm.arsnova.security.User; -import de.thm.arsnova.security.jwt.JwtService; -import de.thm.arsnova.security.jwt.JwtToken; -import de.thm.arsnova.web.exceptions.BadRequestException; -import de.thm.arsnova.web.exceptions.NotFoundException; -import de.thm.arsnova.web.exceptions.UnauthorizedException; +import java.io.IOException; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Pattern; +import javax.annotation.PreDestroy; +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -61,15 +69,17 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.util.UriUtils; import org.stagemonitor.core.metrics.MonitorGauges; -import javax.annotation.PreDestroy; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; -import java.io.IOException; -import java.text.MessageFormat; -import java.util.*; -import java.util.Map.Entry; -import java.util.concurrent.ConcurrentHashMap; -import java.util.regex.Pattern; +import de.thm.arsnova.model.ClientAuthentication; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.persistence.UserRepository; +import de.thm.arsnova.security.GuestUserDetailsService; +import de.thm.arsnova.security.User; +import de.thm.arsnova.security.jwt.JwtService; +import de.thm.arsnova.security.jwt.JwtToken; +import de.thm.arsnova.web.exceptions.BadRequestException; +import de.thm.arsnova.web.exceptions.NotFoundException; +import de.thm.arsnova.web.exceptions.UnauthorizedException; /** * Performs all user related operations. diff --git a/src/main/java/de/thm/arsnova/service/package-info.java b/src/main/java/de/thm/arsnova/service/package-info.java index dfa2ac665..aadfa1022 100644 --- a/src/main/java/de/thm/arsnova/service/package-info.java +++ b/src/main/java/de/thm/arsnova/service/package-info.java @@ -1,4 +1,5 @@ /** * Classes and interfaces for the service layer */ + package de.thm.arsnova.service; diff --git a/src/main/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculator.java b/src/main/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculator.java index 797445dbd..6188ce98f 100644 --- a/src/main/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculator.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; import de.thm.arsnova.model.transport.ScoreStatistics; diff --git a/src/main/java/de/thm/arsnova/service/score/QuestionScore.java b/src/main/java/de/thm/arsnova/service/score/QuestionScore.java index 344092347..62d01d956 100644 --- a/src/main/java/de/thm/arsnova/service/score/QuestionScore.java +++ b/src/main/java/de/thm/arsnova/service/score/QuestionScore.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; import java.util.ArrayList; diff --git a/src/main/java/de/thm/arsnova/service/score/Score.java b/src/main/java/de/thm/arsnova/service/score/Score.java index a32565b0e..99c7bd684 100644 --- a/src/main/java/de/thm/arsnova/service/score/Score.java +++ b/src/main/java/de/thm/arsnova/service/score/Score.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; import java.util.HashMap; diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculator.java b/src/main/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculator.java index cfd7a5dc2..f1ed464f5 100644 --- a/src/main/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculator.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; import de.thm.arsnova.model.transport.ScoreStatistics; diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreCalculator.java b/src/main/java/de/thm/arsnova/service/score/ScoreCalculator.java index f835fd1af..0602be51c 100644 --- a/src/main/java/de/thm/arsnova/service/score/ScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/service/score/ScoreCalculator.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; import de.thm.arsnova.model.Room; diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactory.java b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactory.java index 8af0aa2e4..01c7de0d1 100644 --- a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactory.java +++ b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactory.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; /** diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java index fa2a595e8..c108a0319 100644 --- a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java +++ b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java @@ -15,8 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + import de.thm.arsnova.event.AfterCreationEvent; import de.thm.arsnova.event.AfterDeletionEvent; import de.thm.arsnova.event.ChangeScoreEvent; @@ -24,12 +32,6 @@ import de.thm.arsnova.event.StateChangeEvent; import de.thm.arsnova.model.Answer; import de.thm.arsnova.model.Content; import de.thm.arsnova.persistence.SessionStatisticsRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.ApplicationEventPublisherAware; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; /** * Creates a score calculator implementation. diff --git a/src/main/java/de/thm/arsnova/service/score/UserScore.java b/src/main/java/de/thm/arsnova/service/score/UserScore.java index 444568006..175b862b0 100644 --- a/src/main/java/de/thm/arsnova/service/score/UserScore.java +++ b/src/main/java/de/thm/arsnova/service/score/UserScore.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; /** diff --git a/src/main/java/de/thm/arsnova/service/score/VariantScoreCalculator.java b/src/main/java/de/thm/arsnova/service/score/VariantScoreCalculator.java index a4ad876db..990a95489 100644 --- a/src/main/java/de/thm/arsnova/service/score/VariantScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/service/score/VariantScoreCalculator.java @@ -15,12 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service.score; +import org.springframework.cache.annotation.Cacheable; + import de.thm.arsnova.model.Room; import de.thm.arsnova.model.transport.ScoreStatistics; import de.thm.arsnova.persistence.SessionStatisticsRepository; -import org.springframework.cache.annotation.Cacheable; /** * Base class for the score feature that allows filtering on the question variant. diff --git a/src/main/java/de/thm/arsnova/util/ImageUtils.java b/src/main/java/de/thm/arsnova/util/ImageUtils.java index 79155fbea..8cccb5409 100644 --- a/src/main/java/de/thm/arsnova/util/ImageUtils.java +++ b/src/main/java/de/thm/arsnova/util/ImageUtils.java @@ -15,23 +15,24 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.util; -import de.thm.arsnova.model.migration.v2.Answer; -import org.apache.commons.codec.binary.Base64; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; +package de.thm.arsnova.util; -import javax.imageio.ImageIO; -import java.awt.*; +import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; +import javax.imageio.ImageIO; +import org.apache.commons.codec.binary.Base64; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import de.thm.arsnova.model.migration.v2.Answer; /** * Util class for image operations. diff --git a/src/main/java/de/thm/arsnova/util/PaginationListDecorator.java b/src/main/java/de/thm/arsnova/util/PaginationListDecorator.java index 05901fd71..e630c1cf7 100644 --- a/src/main/java/de/thm/arsnova/util/PaginationListDecorator.java +++ b/src/main/java/de/thm/arsnova/util/PaginationListDecorator.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.util; import java.util.Collection; diff --git a/src/main/java/de/thm/arsnova/web/CacheControl.java b/src/main/java/de/thm/arsnova/web/CacheControl.java index bcbadb5ee..4fad63ee2 100644 --- a/src/main/java/de/thm/arsnova/web/CacheControl.java +++ b/src/main/java/de/thm/arsnova/web/CacheControl.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; import java.lang.annotation.ElementType; diff --git a/src/main/java/de/thm/arsnova/web/CacheControlInterceptorHandler.java b/src/main/java/de/thm/arsnova/web/CacheControlInterceptorHandler.java index 0a10cabc2..d362ae20d 100644 --- a/src/main/java/de/thm/arsnova/web/CacheControlInterceptorHandler.java +++ b/src/main/java/de/thm/arsnova/web/CacheControlInterceptorHandler.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - /** * Adds caching headers to a HTTP request based on {@link CacheControl} annotation. */ diff --git a/src/main/java/de/thm/arsnova/web/CorsFilter.java b/src/main/java/de/thm/arsnova/web/CorsFilter.java index f51d96a47..f5aa3a320 100644 --- a/src/main/java/de/thm/arsnova/web/CorsFilter.java +++ b/src/main/java/de/thm/arsnova/web/CorsFilter.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; -import java.util.List; - public class CorsFilter extends org.springframework.web.filter.CorsFilter { private static final String TOKEN_HEADER_NAME = "Arsnova-Auth-Token"; private final Logger logger = LoggerFactory.getLogger(CorsFilter.class); diff --git a/src/main/java/de/thm/arsnova/web/DeprecatedApi.java b/src/main/java/de/thm/arsnova/web/DeprecatedApi.java index 784f968db..ad671a7fe 100644 --- a/src/main/java/de/thm/arsnova/web/DeprecatedApi.java +++ b/src/main/java/de/thm/arsnova/web/DeprecatedApi.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; import java.lang.annotation.ElementType; diff --git a/src/main/java/de/thm/arsnova/web/DeprecatedApiInterceptorHandler.java b/src/main/java/de/thm/arsnova/web/DeprecatedApiInterceptorHandler.java index f81f239d3..321a7308f 100644 --- a/src/main/java/de/thm/arsnova/web/DeprecatedApiInterceptorHandler.java +++ b/src/main/java/de/thm/arsnova/web/DeprecatedApiInterceptorHandler.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - /** * Adds a "deprecated" header to any HTTP response that is served by a controller method with the {@link DeprecatedApi} * annotation. diff --git a/src/main/java/de/thm/arsnova/web/InternalEntityAspect.java b/src/main/java/de/thm/arsnova/web/InternalEntityAspect.java index 54e4142a6..c2d29fb8a 100644 --- a/src/main/java/de/thm/arsnova/web/InternalEntityAspect.java +++ b/src/main/java/de/thm/arsnova/web/InternalEntityAspect.java @@ -15,14 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; -import de.thm.arsnova.model.Entity; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import de.thm.arsnova.model.Entity; + /** * This aspect ensures that entities marked for internal use are not serialized for the public API. * diff --git a/src/main/java/de/thm/arsnova/web/MaintenanceModeFilter.java b/src/main/java/de/thm/arsnova/web/MaintenanceModeFilter.java index 7577faa34..58286907b 100644 --- a/src/main/java/de/thm/arsnova/web/MaintenanceModeFilter.java +++ b/src/main/java/de/thm/arsnova/web/MaintenanceModeFilter.java @@ -15,17 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.web; -import de.thm.arsnova.service.StatusService; -import org.springframework.stereotype.Component; -import org.springframework.web.filter.OncePerRequestFilter; +package de.thm.arsnova.web; +import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; + +import de.thm.arsnova.service.StatusService; /** * Blocks API requests while maintenance reasons are active. diff --git a/src/main/java/de/thm/arsnova/web/Pagination.java b/src/main/java/de/thm/arsnova/web/Pagination.java index e27194bfe..7865928d3 100644 --- a/src/main/java/de/thm/arsnova/web/Pagination.java +++ b/src/main/java/de/thm/arsnova/web/Pagination.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; import java.lang.annotation.Documented; diff --git a/src/main/java/de/thm/arsnova/web/PathApiVersionContentNegotiationStrategy.java b/src/main/java/de/thm/arsnova/web/PathApiVersionContentNegotiationStrategy.java index 3bacee85d..699a79f6c 100644 --- a/src/main/java/de/thm/arsnova/web/PathApiVersionContentNegotiationStrategy.java +++ b/src/main/java/de/thm/arsnova/web/PathApiVersionContentNegotiationStrategy.java @@ -15,10 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.controller.AbstractEntityController; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; @@ -27,10 +30,8 @@ import org.springframework.web.HttpMediaTypeNotAcceptableException; import org.springframework.web.accept.ContentNegotiationStrategy; import org.springframework.web.context.request.NativeWebRequest; -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.controller.AbstractEntityController; /** * This {@link ContentNegotiationStrategy} selects the media type based on request path. It allows to set the correct diff --git a/src/main/java/de/thm/arsnova/web/RangeAspect.java b/src/main/java/de/thm/arsnova/web/RangeAspect.java index 87e2c14dc..913606164 100644 --- a/src/main/java/de/thm/arsnova/web/RangeAspect.java +++ b/src/main/java/de/thm/arsnova/web/RangeAspect.java @@ -15,11 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; -import de.thm.arsnova.controller.PaginationController; -import de.thm.arsnova.service.ResponseProviderService; -import de.thm.arsnova.util.PaginationListDecorator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -28,11 +31,9 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import de.thm.arsnova.controller.PaginationController; +import de.thm.arsnova.service.ResponseProviderService; +import de.thm.arsnova.util.PaginationListDecorator; /** * An aspect which parses requests for pagination parameters in a "Range" header and adds a "Content-Range" header to diff --git a/src/main/java/de/thm/arsnova/web/ResponseInterceptorHandler.java b/src/main/java/de/thm/arsnova/web/ResponseInterceptorHandler.java index 9d4f2cb3d..24f1311c0 100644 --- a/src/main/java/de/thm/arsnova/web/ResponseInterceptorHandler.java +++ b/src/main/java/de/thm/arsnova/web/ResponseInterceptorHandler.java @@ -15,15 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; -import de.thm.arsnova.service.ResponseProviderService; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import de.thm.arsnova.service.ResponseProviderService; /** * Injects a {@link HttpServletResponse} into {@link ResponseProviderService} to allow access to it outside of diff --git a/src/main/java/de/thm/arsnova/web/V2ContentTypeOverrideFilter.java b/src/main/java/de/thm/arsnova/web/V2ContentTypeOverrideFilter.java index f06569027..99c09a24e 100644 --- a/src/main/java/de/thm/arsnova/web/V2ContentTypeOverrideFilter.java +++ b/src/main/java/de/thm/arsnova/web/V2ContentTypeOverrideFilter.java @@ -15,9 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.web; -import de.thm.arsnova.config.AppConfig; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; @@ -25,16 +35,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; +import de.thm.arsnova.config.AppConfig; /** * This {@link javax.servlet.Filter} overrides the Content-Type for JSON data sent by the client with the ARSnova API v2 diff --git a/src/main/java/de/thm/arsnova/web/exceptions/package-info.java b/src/main/java/de/thm/arsnova/web/exceptions/package-info.java index 03df89db5..3a24af121 100644 --- a/src/main/java/de/thm/arsnova/web/exceptions/package-info.java +++ b/src/main/java/de/thm/arsnova/web/exceptions/package-info.java @@ -1,4 +1,5 @@ /** * Contains exceptions used to return HTTP status codes */ + package de.thm.arsnova.web.exceptions; diff --git a/src/main/java/de/thm/arsnova/web/package-info.java b/src/main/java/de/thm/arsnova/web/package-info.java index c22db2a22..92bdc3752 100644 --- a/src/main/java/de/thm/arsnova/web/package-info.java +++ b/src/main/java/de/thm/arsnova/web/package-info.java @@ -1,4 +1,5 @@ /** * Contains HTTP related classes and interfaces */ + package de.thm.arsnova.web; diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServer.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServer.java index b9d773ac3..64c30a521 100644 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServer.java +++ b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServer.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket; /** diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java index 7211c9450..46c4cd369 100644 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java +++ b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket; import com.codahale.metrics.annotation.Timed; @@ -28,6 +29,27 @@ import com.corundumstudio.socketio.listener.DataListener; import com.corundumstudio.socketio.listener.DisconnectListener; import com.corundumstudio.socketio.protocol.Packet; import com.corundumstudio.socketio.protocol.PacketType; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.UUID; +import javax.annotation.PreDestroy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Required; +import org.springframework.context.event.EventListener; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + import de.thm.arsnova.event.AfterCreationEvent; import de.thm.arsnova.event.AfterDeletionEvent; import de.thm.arsnova.event.ChangeScoreEvent; @@ -51,27 +73,6 @@ import de.thm.arsnova.web.exceptions.UnauthorizedException; import de.thm.arsnova.websocket.message.Content; import de.thm.arsnova.websocket.message.Feedback; import de.thm.arsnova.websocket.message.Room; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Required; -import org.springframework.context.event.EventListener; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Component; - -import javax.annotation.PreDestroy; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.UUID; /** * Web socket implementation based on Socket.io. diff --git a/src/main/java/de/thm/arsnova/websocket/WebsocketAuthenticationAspect.java b/src/main/java/de/thm/arsnova/websocket/WebsocketAuthenticationAspect.java index 6b0abc8bb..6b045c981 100644 --- a/src/main/java/de/thm/arsnova/websocket/WebsocketAuthenticationAspect.java +++ b/src/main/java/de/thm/arsnova/websocket/WebsocketAuthenticationAspect.java @@ -15,11 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket; import com.corundumstudio.socketio.SocketIOClient; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -35,9 +37,8 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; /** * This aspect populates the SecurityContextHolder of Spring Security when data are received via WebSockets. diff --git a/src/main/java/de/thm/arsnova/websocket/handler/AuthChannelInterceptorAdapter.java b/src/main/java/de/thm/arsnova/websocket/handler/AuthChannelInterceptorAdapter.java index 3e06953af..4318789f9 100644 --- a/src/main/java/de/thm/arsnova/websocket/handler/AuthChannelInterceptorAdapter.java +++ b/src/main/java/de/thm/arsnova/websocket/handler/AuthChannelInterceptorAdapter.java @@ -1,7 +1,7 @@ package de.thm.arsnova.websocket.handler; -import de.thm.arsnova.security.User; -import de.thm.arsnova.service.UserService; +import java.util.List; +import org.checkerframework.checker.nullness.qual.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,8 +13,8 @@ import org.springframework.messaging.support.ChannelInterceptor; import org.springframework.messaging.support.MessageBuilder; import org.springframework.stereotype.Component; -import org.checkerframework.checker.nullness.qual.Nullable; -import java.util.List; +import de.thm.arsnova.security.User; +import de.thm.arsnova.service.UserService; @Component public class AuthChannelInterceptorAdapter implements ChannelInterceptor { diff --git a/src/main/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandler.java b/src/main/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandler.java index 19c8de57f..e3e6f430c 100644 --- a/src/main/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandler.java +++ b/src/main/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandler.java @@ -1,14 +1,14 @@ package de.thm.arsnova.websocket.handler; -import de.thm.arsnova.websocket.message.CreateFeedback; -import de.thm.arsnova.websocket.message.FeedbackChanged; -import de.thm.arsnova.websocket.message.FeedbackChangedPayload; -import de.thm.arsnova.websocket.message.GetFeedback; +import java.util.HashMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.simp.SimpMessagingTemplate; import org.springframework.stereotype.Component; -import java.util.HashMap; +import de.thm.arsnova.websocket.message.CreateFeedback; +import de.thm.arsnova.websocket.message.FeedbackChanged; +import de.thm.arsnova.websocket.message.FeedbackChangedPayload; +import de.thm.arsnova.websocket.message.GetFeedback; @Component public class FeedbackCommandHandler { diff --git a/src/main/java/de/thm/arsnova/websocket/handler/FeedbackHandler.java b/src/main/java/de/thm/arsnova/websocket/handler/FeedbackHandler.java index 2bb2943a9..50308d6ff 100644 --- a/src/main/java/de/thm/arsnova/websocket/handler/FeedbackHandler.java +++ b/src/main/java/de/thm/arsnova/websocket/handler/FeedbackHandler.java @@ -1,12 +1,13 @@ package de.thm.arsnova.websocket.handler; -import de.thm.arsnova.websocket.message.CreateFeedback; -import de.thm.arsnova.websocket.message.GetFeedback; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.handler.annotation.DestinationVariable; import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.stereotype.Controller; +import de.thm.arsnova.websocket.message.CreateFeedback; +import de.thm.arsnova.websocket.message.GetFeedback; + @Controller public class FeedbackHandler { private final FeedbackCommandHandler commandHandler; diff --git a/src/main/java/de/thm/arsnova/websocket/message/Content.java b/src/main/java/de/thm/arsnova/websocket/message/Content.java index 86eb37a68..5ccc1c236 100644 --- a/src/main/java/de/thm/arsnova/websocket/message/Content.java +++ b/src/main/java/de/thm/arsnova/websocket/message/Content.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket.message; /** diff --git a/src/main/java/de/thm/arsnova/websocket/message/Feedback.java b/src/main/java/de/thm/arsnova/websocket/message/Feedback.java index 0059ef5a1..e18789dc4 100644 --- a/src/main/java/de/thm/arsnova/websocket/message/Feedback.java +++ b/src/main/java/de/thm/arsnova/websocket/message/Feedback.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket.message; /** diff --git a/src/main/java/de/thm/arsnova/websocket/message/Room.java b/src/main/java/de/thm/arsnova/websocket/message/Room.java index a55734625..25de1d48b 100644 --- a/src/main/java/de/thm/arsnova/websocket/message/Room.java +++ b/src/main/java/de/thm/arsnova/websocket/message/Room.java @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.websocket.message; /** diff --git a/src/main/java/de/thm/arsnova/websocket/message/package-info.java b/src/main/java/de/thm/arsnova/websocket/message/package-info.java index 0af4ab419..3f488a34d 100644 --- a/src/main/java/de/thm/arsnova/websocket/message/package-info.java +++ b/src/main/java/de/thm/arsnova/websocket/message/package-info.java @@ -1,4 +1,5 @@ /** * Contains classes that are used as web socket messages */ + package de.thm.arsnova.websocket.message; diff --git a/src/main/java/de/thm/arsnova/websocket/package-info.java b/src/main/java/de/thm/arsnova/websocket/package-info.java index 3fd6e43c0..febedc2d5 100644 --- a/src/main/java/de/thm/arsnova/websocket/package-info.java +++ b/src/main/java/de/thm/arsnova/websocket/package-info.java @@ -1,4 +1,5 @@ /** * Classes and interfaces for communication over web sockets */ + package de.thm.arsnova.websocket; diff --git a/src/test/java/de/thm/arsnova/config/AppConfigTest.java b/src/test/java/de/thm/arsnova/config/AppConfigTest.java index fc210c35a..0d7062cd1 100644 --- a/src/test/java/de/thm/arsnova/config/AppConfigTest.java +++ b/src/test/java/de/thm/arsnova/config/AppConfigTest.java @@ -15,9 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; -import de.thm.arsnova.connector.client.ConnectorClient; +import static org.junit.Assert.assertNull; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -29,10 +31,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import java.util.Arrays; +import de.thm.arsnova.connector.client.ConnectorClient; import java.util.List; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration diff --git a/src/test/java/de/thm/arsnova/config/TestAppConfig.java b/src/test/java/de/thm/arsnova/config/TestAppConfig.java index 036464233..6fdff03e3 100644 --- a/src/test/java/de/thm/arsnova/config/TestAppConfig.java +++ b/src/test/java/de/thm/arsnova/config/TestAppConfig.java @@ -15,14 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; import de.thm.arsnova.controller.JsonViewControllerAdviceTest; -import de.thm.arsnova.persistence.UserRepository; import de.thm.arsnova.service.EntityService; -import de.thm.arsnova.service.StubUserService; -import de.thm.arsnova.websocket.ArsnovaSocketioServer; -import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; @@ -44,6 +41,11 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.support.AnnotationConfigContextLoader; import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import de.thm.arsnova.persistence.UserRepository; +import de.thm.arsnova.service.StubUserService; +import de.thm.arsnova.websocket.ArsnovaSocketioServer; +import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; + @ComponentScan({ "de.thm.arsnova.aop", "de.thm.arsnova.cache", diff --git a/src/test/java/de/thm/arsnova/config/TestPersistanceConfig.java b/src/test/java/de/thm/arsnova/config/TestPersistanceConfig.java index 0198395ee..92e5af312 100644 --- a/src/test/java/de/thm/arsnova/config/TestPersistanceConfig.java +++ b/src/test/java/de/thm/arsnova/config/TestPersistanceConfig.java @@ -15,14 +15,25 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; -import de.thm.arsnova.persistence.*; import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; +import de.thm.arsnova.persistence.AnswerRepository; +import de.thm.arsnova.persistence.AttachmentRepository; +import de.thm.arsnova.persistence.CommentRepository; +import de.thm.arsnova.persistence.ContentRepository; +import de.thm.arsnova.persistence.LogEntryRepository; +import de.thm.arsnova.persistence.MotdRepository; +import de.thm.arsnova.persistence.RoomRepository; +import de.thm.arsnova.persistence.SessionStatisticsRepository; +import de.thm.arsnova.persistence.StatisticsRepository; +import de.thm.arsnova.persistence.UserRepository; + @Profile("test") @Configuration public class TestPersistanceConfig { diff --git a/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java b/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java index 7afd4e027..34750f976 100644 --- a/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java +++ b/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.config; -import de.thm.arsnova.security.CasUserDetailsService; import org.jasig.cas.client.validation.Cas20ProxyTicketValidator; import org.pac4j.oauth.client.FacebookClient; import org.pac4j.oauth.client.TwitterClient; @@ -36,6 +36,8 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import org.springframework.security.core.session.SessionRegistry; import org.springframework.security.core.session.SessionRegistryImpl; +import de.thm.arsnova.security.CasUserDetailsService; + @Configuration @EnableGlobalMethodSecurity(mode = AdviceMode.ASPECTJ, prePostEnabled = true) @EnableWebSecurity diff --git a/src/test/java/de/thm/arsnova/controller/AbstractControllerTest.java b/src/test/java/de/thm/arsnova/controller/AbstractControllerTest.java index 9d4f39e59..ef63d662a 100644 --- a/src/test/java/de/thm/arsnova/controller/AbstractControllerTest.java +++ b/src/test/java/de/thm/arsnova/controller/AbstractControllerTest.java @@ -15,14 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.config.TestAppConfig; -import de.thm.arsnova.config.TestPersistanceConfig; -import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.config.WebSocketConfig; -import de.thm.arsnova.service.StubUserService; +import java.util.ArrayList; +import java.util.List; import org.junit.After; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -35,8 +32,12 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import java.util.ArrayList; -import java.util.List; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.config.TestAppConfig; +import de.thm.arsnova.config.TestPersistanceConfig; +import de.thm.arsnova.config.TestSecurityConfig; +import de.thm.arsnova.config.WebSocketConfig; +import de.thm.arsnova.service.StubUserService; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration diff --git a/src/test/java/de/thm/arsnova/controller/v2/AuthenticationControllerTest.java b/src/test/java/de/thm/arsnova/controller/v2/AuthenticationControllerTest.java index 5efa24841..9dbf5bc46 100644 --- a/src/test/java/de/thm/arsnova/controller/v2/AuthenticationControllerTest.java +++ b/src/test/java/de/thm/arsnova/controller/v2/AuthenticationControllerTest.java @@ -15,10 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.controller.AbstractControllerTest; -import de.thm.arsnova.service.StubUserService; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -31,10 +37,8 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; +import de.thm.arsnova.controller.AbstractControllerTest; +import de.thm.arsnova.service.StubUserService; public class AuthenticationControllerTest extends AbstractControllerTest { diff --git a/src/test/java/de/thm/arsnova/controller/v2/CourseControllerTest.java b/src/test/java/de/thm/arsnova/controller/v2/CourseControllerTest.java index 3068b1dcf..1f944e3de 100644 --- a/src/test/java/de/thm/arsnova/controller/v2/CourseControllerTest.java +++ b/src/test/java/de/thm/arsnova/controller/v2/CourseControllerTest.java @@ -15,11 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.controller.v2; -import de.thm.arsnova.connector.client.ConnectorClient; -import de.thm.arsnova.controller.AbstractControllerTest; -import de.thm.arsnova.service.StubUserService; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -30,8 +31,9 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import de.thm.arsnova.connector.client.ConnectorClient; +import de.thm.arsnova.controller.AbstractControllerTest; +import de.thm.arsnova.service.StubUserService; public class CourseControllerTest extends AbstractControllerTest { diff --git a/src/test/java/de/thm/arsnova/event/StateEventDispatcherTest.java b/src/test/java/de/thm/arsnova/event/StateEventDispatcherTest.java index 607220e06..6a0d592f3 100644 --- a/src/test/java/de/thm/arsnova/event/StateEventDispatcherTest.java +++ b/src/test/java/de/thm/arsnova/event/StateEventDispatcherTest.java @@ -15,20 +15,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.event; +import static org.junit.Assert.assertEquals; +import static org.mockito.AdditionalAnswers.returnsFirstArg; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.when; + import com.fasterxml.jackson.databind.ObjectMapper; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.config.TestAppConfig; -import de.thm.arsnova.config.TestPersistanceConfig; -import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.config.WebSocketConfig; -import de.thm.arsnova.model.Content; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.persistence.ContentRepository; -import de.thm.arsnova.persistence.RoomRepository; -import de.thm.arsnova.service.DefaultEntityServiceImpl; -import de.thm.arsnova.test.context.support.WithMockUser; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -43,16 +43,17 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.mockito.AdditionalAnswers.returnsFirstArg; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.when; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.config.TestAppConfig; +import de.thm.arsnova.config.TestPersistanceConfig; +import de.thm.arsnova.config.TestSecurityConfig; +import de.thm.arsnova.config.WebSocketConfig; +import de.thm.arsnova.model.Content; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.persistence.ContentRepository; +import de.thm.arsnova.persistence.RoomRepository; +import de.thm.arsnova.service.DefaultEntityServiceImpl; +import de.thm.arsnova.test.context.support.WithMockUser; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration diff --git a/src/test/java/de/thm/arsnova/model/ContentTest.java b/src/test/java/de/thm/arsnova/model/ContentTest.java index b40506d1b..78ed369a3 100644 --- a/src/test/java/de/thm/arsnova/model/ContentTest.java +++ b/src/test/java/de/thm/arsnova/model/ContentTest.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; -import de.thm.arsnova.model.migration.v2.Answer; -import de.thm.arsnova.model.migration.v2.AnswerOption; -import de.thm.arsnova.model.migration.v2.Content; -import org.junit.Test; +import static org.junit.Assert.assertEquals; import java.util.ArrayList; +import org.junit.Test; -import static org.junit.Assert.assertEquals; +import de.thm.arsnova.model.migration.v2.Answer; +import de.thm.arsnova.model.migration.v2.AnswerOption; +import de.thm.arsnova.model.migration.v2.Content; public class ContentTest { diff --git a/src/test/java/de/thm/arsnova/model/EntityTest.java b/src/test/java/de/thm/arsnova/model/EntityTest.java index 275eae31f..6e4c55069 100644 --- a/src/test/java/de/thm/arsnova/model/EntityTest.java +++ b/src/test/java/de/thm/arsnova/model/EntityTest.java @@ -15,16 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.model; -import org.junit.Test; -import org.springframework.core.style.ToStringCreator; - -import java.util.Date; +package de.thm.arsnova.model; import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.startsWith; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertThat; + +import java.util.Date; +import org.junit.Test; +import org.springframework.core.style.ToStringCreator; /** * Tests {@link Entity}'s overrides for {@link Object#hashCode()}, {@link Object#equals(Object)}, and diff --git a/src/test/java/de/thm/arsnova/model/FeedbackTest.java b/src/test/java/de/thm/arsnova/model/FeedbackTest.java index b94bd0d70..5cc91beb6 100644 --- a/src/test/java/de/thm/arsnova/model/FeedbackTest.java +++ b/src/test/java/de/thm/arsnova/model/FeedbackTest.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model; -import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.util.Optional; - -import static org.junit.Assert.*; +import org.junit.Test; public class FeedbackTest { diff --git a/src/test/java/de/thm/arsnova/model/TestClient.java b/src/test/java/de/thm/arsnova/model/TestClient.java index 3cb03ea8e..d51426482 100644 --- a/src/test/java/de/thm/arsnova/model/TestClient.java +++ b/src/test/java/de/thm/arsnova/model/TestClient.java @@ -15,14 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.model; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; -import org.springframework.security.core.GrantedAuthority; +package de.thm.arsnova.model; import java.util.HashSet; import java.util.Set; import java.util.UUID; +import org.springframework.security.core.GrantedAuthority; + +import de.thm.arsnova.model.migration.v2.ClientAuthentication; public class TestClient extends ClientAuthentication { private static final long serialVersionUID = 1L; diff --git a/src/test/java/de/thm/arsnova/model/migration/FromV2MigratorTest.java b/src/test/java/de/thm/arsnova/model/migration/FromV2MigratorTest.java index 28c3f0bb9..475d4df81 100644 --- a/src/test/java/de/thm/arsnova/model/migration/FromV2MigratorTest.java +++ b/src/test/java/de/thm/arsnova/model/migration/FromV2MigratorTest.java @@ -15,8 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration; +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + import de.thm.arsnova.config.AppConfig; import de.thm.arsnova.config.TestAppConfig; import de.thm.arsnova.config.TestPersistanceConfig; @@ -26,18 +39,6 @@ import de.thm.arsnova.model.ChoiceAnswer; import de.thm.arsnova.model.ChoiceQuestionContent; import de.thm.arsnova.model.Content; import de.thm.arsnova.model.migration.v2.Answer; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertEquals; /** * @author Daniel Gerhardt diff --git a/src/test/java/de/thm/arsnova/model/migration/ToV2MigratorTest.java b/src/test/java/de/thm/arsnova/model/migration/ToV2MigratorTest.java index 7f798db33..9b96a2db2 100644 --- a/src/test/java/de/thm/arsnova/model/migration/ToV2MigratorTest.java +++ b/src/test/java/de/thm/arsnova/model/migration/ToV2MigratorTest.java @@ -15,8 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.model.migration; +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + import de.thm.arsnova.config.AppConfig; import de.thm.arsnova.config.TestAppConfig; import de.thm.arsnova.config.TestPersistanceConfig; @@ -27,20 +42,6 @@ import de.thm.arsnova.model.ChoiceAnswer; import de.thm.arsnova.model.ChoiceQuestionContent; import de.thm.arsnova.model.Content; import de.thm.arsnova.model.migration.v2.Answer; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static org.junit.Assert.assertEquals; /** * @author Daniel Gerhardt diff --git a/src/test/java/de/thm/arsnova/service/DefaultEntityServiceImplTest.java b/src/test/java/de/thm/arsnova/service/DefaultEntityServiceImplTest.java index e07841c73..52a254ce9 100644 --- a/src/test/java/de/thm/arsnova/service/DefaultEntityServiceImplTest.java +++ b/src/test/java/de/thm/arsnova/service/DefaultEntityServiceImplTest.java @@ -15,17 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; +import static org.mockito.AdditionalAnswers.returnsFirstArg; +import static org.mockito.Matchers.anyListOf; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.when; + import com.fasterxml.jackson.databind.ObjectMapper; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.config.TestAppConfig; -import de.thm.arsnova.config.TestPersistanceConfig; -import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.config.WebSocketConfig; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.persistence.RoomRepository; -import de.thm.arsnova.test.context.support.WithMockUser; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -38,18 +44,14 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import static org.junit.Assert.*; -import static org.mockito.AdditionalAnswers.returnsFirstArg; -import static org.mockito.Matchers.anyListOf; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.when; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.config.TestAppConfig; +import de.thm.arsnova.config.TestPersistanceConfig; +import de.thm.arsnova.config.TestSecurityConfig; +import de.thm.arsnova.config.WebSocketConfig; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.persistence.RoomRepository; +import de.thm.arsnova.test.context.support.WithMockUser; @RunWith(SpringJUnit4ClassRunner.class) diff --git a/src/test/java/de/thm/arsnova/service/FeedbackServiceTest.java b/src/test/java/de/thm/arsnova/service/FeedbackServiceTest.java index 0fe0bd1d2..71cb00fed 100644 --- a/src/test/java/de/thm/arsnova/service/FeedbackServiceTest.java +++ b/src/test/java/de/thm/arsnova/service/FeedbackServiceTest.java @@ -1,10 +1,18 @@ package de.thm.arsnova.service; -import de.thm.arsnova.event.DeleteFeedbackForRoomsEvent; -import de.thm.arsnova.model.Feedback; -import de.thm.arsnova.model.Room; -import de.thm.arsnova.web.exceptions.NoContentException; -import de.thm.arsnova.web.exceptions.NotFoundException; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,15 +21,11 @@ import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; import org.springframework.context.ApplicationEventPublisher; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; +import de.thm.arsnova.event.DeleteFeedbackForRoomsEvent; +import de.thm.arsnova.model.Feedback; +import de.thm.arsnova.model.Room; +import de.thm.arsnova.web.exceptions.NoContentException; +import de.thm.arsnova.web.exceptions.NotFoundException; @RunWith(MockitoJUnitRunner.StrictStubs.class) public class FeedbackServiceTest { diff --git a/src/test/java/de/thm/arsnova/service/StubUserService.java b/src/test/java/de/thm/arsnova/service/StubUserService.java index e56dde169..3375e27c0 100644 --- a/src/test/java/de/thm/arsnova/service/StubUserService.java +++ b/src/test/java/de/thm/arsnova/service/StubUserService.java @@ -15,20 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.persistence.UserRepository; -import de.thm.arsnova.security.User; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.persistence.UserRepository; +import de.thm.arsnova.security.User; public class StubUserService extends UserServiceImpl { private final Set<GrantedAuthority> grantedAuthorities; diff --git a/src/test/java/de/thm/arsnova/service/UserServiceTest.java b/src/test/java/de/thm/arsnova/service/UserServiceTest.java index 94daea8b4..710ce5582 100644 --- a/src/test/java/de/thm/arsnova/service/UserServiceTest.java +++ b/src/test/java/de/thm/arsnova/service/UserServiceTest.java @@ -15,28 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.service; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.config.TestAppConfig; -import de.thm.arsnova.config.TestPersistanceConfig; -import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.config.WebSocketConfig; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; -import de.thm.arsnova.security.User; -import de.thm.arsnova.security.pac4j.OAuthToken; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.pac4j.core.profile.definition.CommonProfileDefinition; -import org.pac4j.oidc.profile.google.GoogleOidcProfile; -import org.springframework.security.authentication.AnonymousAuthenticationToken; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; +import static org.junit.Assert.assertEquals; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -49,8 +31,27 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.pac4j.core.profile.definition.CommonProfileDefinition; +import org.pac4j.oidc.profile.google.GoogleOidcProfile; +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; -import static org.junit.Assert.assertEquals; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.config.TestAppConfig; +import de.thm.arsnova.config.TestPersistanceConfig; +import de.thm.arsnova.config.TestSecurityConfig; +import de.thm.arsnova.config.WebSocketConfig; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.model.migration.v2.ClientAuthentication; +import de.thm.arsnova.security.User; +import de.thm.arsnova.security.pac4j.OAuthToken; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration diff --git a/src/test/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculatorTest.java b/src/test/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculatorTest.java index 0d6232e7a..216ec9274 100644 --- a/src/test/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculatorTest.java +++ b/src/test/java/de/thm/arsnova/service/score/QuestionBasedScoreCalculatorTest.java @@ -15,19 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service.score; -import de.thm.arsnova.model.TestClient; -import de.thm.arsnova.model.migration.v2.ClientAuthentication; -import de.thm.arsnova.model.transport.ScoreStatistics; -import de.thm.arsnova.persistence.SessionStatisticsRepository; -import org.junit.Before; -import org.junit.Test; +package de.thm.arsnova.service.score; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.junit.Before; +import org.junit.Test; + +import de.thm.arsnova.model.transport.ScoreStatistics; +import de.thm.arsnova.persistence.SessionStatisticsRepository; + public class QuestionBasedScoreCalculatorTest { private Score courseScore; diff --git a/src/test/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculatorTest.java b/src/test/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculatorTest.java index be7afed80..9d694167f 100644 --- a/src/test/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculatorTest.java +++ b/src/test/java/de/thm/arsnova/service/score/ScoreBasedScoreCalculatorTest.java @@ -15,17 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.service.score; -import de.thm.arsnova.model.transport.ScoreStatistics; -import de.thm.arsnova.persistence.SessionStatisticsRepository; -import org.junit.Before; -import org.junit.Test; +package de.thm.arsnova.service.score; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.junit.Before; +import org.junit.Test; + +import de.thm.arsnova.model.transport.ScoreStatistics; +import de.thm.arsnova.persistence.SessionStatisticsRepository; + public class ScoreBasedScoreCalculatorTest { private Score courseScore; diff --git a/src/test/java/de/thm/arsnova/test/context/support/WithMockUser.java b/src/test/java/de/thm/arsnova/test/context/support/WithMockUser.java index db001d4e0..9e6a7512e 100644 --- a/src/test/java/de/thm/arsnova/test/context/support/WithMockUser.java +++ b/src/test/java/de/thm/arsnova/test/context/support/WithMockUser.java @@ -15,10 +15,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.test.context.support; -import de.thm.arsnova.model.UserProfile; -import org.springframework.security.test.context.support.WithSecurityContext; +package de.thm.arsnova.test.context.support; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -26,6 +24,9 @@ import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.springframework.security.test.context.support.WithSecurityContext; + +import de.thm.arsnova.model.UserProfile; /** * @author Daniel Gerhardt diff --git a/src/test/java/de/thm/arsnova/test/context/support/WithMockUserSecurityContextFactory.java b/src/test/java/de/thm/arsnova/test/context/support/WithMockUserSecurityContextFactory.java index 3da5ee7cc..6858e3fc7 100644 --- a/src/test/java/de/thm/arsnova/test/context/support/WithMockUserSecurityContextFactory.java +++ b/src/test/java/de/thm/arsnova/test/context/support/WithMockUserSecurityContextFactory.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.test.context.support; -import de.thm.arsnova.model.UserProfile; -import de.thm.arsnova.security.User; +import java.util.Arrays; +import java.util.stream.Collectors; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -27,8 +28,8 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.test.context.support.WithSecurityContextFactory; import org.springframework.util.StringUtils; -import java.util.Arrays; -import java.util.stream.Collectors; +import de.thm.arsnova.model.UserProfile; +import de.thm.arsnova.security.User; /** * @author Daniel Gerhardt diff --git a/src/test/java/de/thm/arsnova/util/ImageUtilsTest.java b/src/test/java/de/thm/arsnova/util/ImageUtilsTest.java index 701ab910b..a1f47cf13 100644 --- a/src/test/java/de/thm/arsnova/util/ImageUtilsTest.java +++ b/src/test/java/de/thm/arsnova/util/ImageUtilsTest.java @@ -15,13 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + package de.thm.arsnova.util; -import de.thm.arsnova.config.AppConfig; -import de.thm.arsnova.config.TestAppConfig; -import de.thm.arsnova.config.TestPersistanceConfig; -import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.config.WebSocketConfig; +import static de.thm.arsnova.util.ImageUtils.IMAGE_PREFIX_MIDDLE; +import static de.thm.arsnova.util.ImageUtils.IMAGE_PREFIX_START; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ActiveProfiles; @@ -29,9 +32,11 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import static de.thm.arsnova.util.ImageUtils.IMAGE_PREFIX_MIDDLE; -import static de.thm.arsnova.util.ImageUtils.IMAGE_PREFIX_START; -import static org.junit.Assert.*; +import de.thm.arsnova.config.AppConfig; +import de.thm.arsnova.config.TestAppConfig; +import de.thm.arsnova.config.TestPersistanceConfig; +import de.thm.arsnova.config.TestSecurityConfig; +import de.thm.arsnova.config.WebSocketConfig; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration diff --git a/src/test/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandlerTest.java b/src/test/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandlerTest.java index 073c586e1..844234368 100644 --- a/src/test/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandlerTest.java +++ b/src/test/java/de/thm/arsnova/websocket/handler/FeedbackCommandHandlerTest.java @@ -1,10 +1,9 @@ package de.thm.arsnova.websocket.handler; -import de.thm.arsnova.websocket.message.CreateFeedback; -import de.thm.arsnova.websocket.message.CreateFeedbackPayload; -import de.thm.arsnova.websocket.message.FeedbackChanged; -import de.thm.arsnova.websocket.message.FeedbackChangedPayload; -import de.thm.arsnova.websocket.message.GetFeedback; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.verify; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,9 +12,11 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.messaging.simp.SimpMessagingTemplate; import org.springframework.test.context.junit4.SpringRunner; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.verify; +import de.thm.arsnova.websocket.message.CreateFeedback; +import de.thm.arsnova.websocket.message.CreateFeedbackPayload; +import de.thm.arsnova.websocket.message.FeedbackChanged; +import de.thm.arsnova.websocket.message.FeedbackChangedPayload; +import de.thm.arsnova.websocket.message.GetFeedback; @RunWith(SpringRunner.class) public class FeedbackCommandHandlerTest { diff --git a/src/test/java/de/thm/arsnova/websocket/handler/FeedbackHandlerTest.java b/src/test/java/de/thm/arsnova/websocket/handler/FeedbackHandlerTest.java index ebbdeb474..b95cd307a 100644 --- a/src/test/java/de/thm/arsnova/websocket/handler/FeedbackHandlerTest.java +++ b/src/test/java/de/thm/arsnova/websocket/handler/FeedbackHandlerTest.java @@ -1,6 +1,9 @@ package de.thm.arsnova.websocket.handler; -import de.thm.arsnova.websocket.message.CreateFeedback; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -8,9 +11,7 @@ import org.mockito.ArgumentCaptor; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.junit4.SpringRunner; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import de.thm.arsnova.websocket.message.CreateFeedback; @RunWith(SpringRunner.class) public class FeedbackHandlerTest { -- GitLab