Skip to content
Snippets Groups Projects
Commit 47e590ea authored by Daniel Gerhardt's avatar Daniel Gerhardt
Browse files

Refactor package structure

Consistently use singular for packages which contain mixed kinds of
classes. Moved a few classes to packages that better fit them.
parent ae0c83c6
Branches
No related merge requests found
Showing
with 105 additions and 114 deletions
......@@ -476,7 +476,7 @@
<springmvc>true</springmvc>
<locations>
<location>de.thm.arsnova.controller.v2</location>
<location>de.thm.arsnova.entities.v2</location>
<location>de.thm.arsnova.model.v2</location>
</locations>
<schemes>
<scheme>http</scheme>
......
/**
* Classes and interfaces to support aspect-oriented programming
*/
package de.thm.arsnova.aop;
......@@ -17,7 +17,7 @@
*/
package de.thm.arsnova.cache;
import de.thm.arsnova.events.*;
import de.thm.arsnova.event.*;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Component;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.cache;
import de.thm.arsnova.events.ArsnovaEvent;
import de.thm.arsnova.events.ArsnovaEventVisitor;
import de.thm.arsnova.event.ArsnovaEvent;
import de.thm.arsnova.event.ArsnovaEventVisitor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
......
......@@ -20,13 +20,13 @@ 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.entities.migration.FromV2Migrator;
import de.thm.arsnova.entities.migration.ToV2Migrator;
import de.thm.arsnova.model.migration.FromV2Migrator;
import de.thm.arsnova.model.migration.ToV2Migrator;
import de.thm.arsnova.util.ImageUtils;
import de.thm.arsnova.connector.client.ConnectorClient;
import de.thm.arsnova.connector.client.ConnectorClientImpl;
import de.thm.arsnova.entities.serialization.CouchDbDocumentModule;
import de.thm.arsnova.entities.serialization.View;
import de.thm.arsnova.model.serialization.CouchDbDocumentModule;
import de.thm.arsnova.model.serialization.View;
import de.thm.arsnova.web.PathApiVersionContentNegotiationStrategy;
import de.thm.arsnova.websocket.ArsnovaSocketioServer;
import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl;
......@@ -81,13 +81,11 @@ import java.util.List;
* AspectJ's weaving).
*/
@ComponentScan({
"de.thm.arsnova.aop",
"de.thm.arsnova.cache",
"de.thm.arsnova.controller",
"de.thm.arsnova.dao",
"de.thm.arsnova.events",
"de.thm.arsnova.event",
"de.thm.arsnova.security",
"de.thm.arsnova.services",
"de.thm.arsnova.service",
"de.thm.arsnova.web"})
@Configuration
@EnableAsync
......
package de.thm.arsnova.config;
import de.thm.arsnova.entities.serialization.CouchDbObjectMapperFactory;
import de.thm.arsnova.persistance.*;
import de.thm.arsnova.persistance.couchdb.*;
import de.thm.arsnova.persistance.couchdb.support.MangoCouchDbConnector;
import de.thm.arsnova.model.serialization.CouchDbObjectMapperFactory;
import de.thm.arsnova.persistence.*;
import de.thm.arsnova.persistence.couchdb.*;
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;
......@@ -14,11 +14,11 @@ import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Profile;
@ComponentScan({
"de.thm.arsnova.persistance.couchdb"
"de.thm.arsnova.persistence.couchdb"
})
@Configuration
@Profile("!test")
public class PersistanceConfig {
public class PersistenceConfig {
private static final int MIGRATION_SOCKET_TIMEOUT = 30000;
@Value("${couchdb.name}") private String couchDbName;
......
......@@ -17,11 +17,11 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.Entity;
import de.thm.arsnova.entities.FindQuery;
import de.thm.arsnova.exceptions.NotFoundException;
import de.thm.arsnova.services.EntityService;
import de.thm.arsnova.services.FindQueryService;
import de.thm.arsnova.model.Entity;
import de.thm.arsnova.model.FindQuery;
import de.thm.arsnova.web.exceptions.NotFoundException;
import de.thm.arsnova.service.EntityService;
import de.thm.arsnova.service.FindQueryService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.Answer;
import de.thm.arsnova.services.AnswerService;
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;
......
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.ClientAuthentication;
import de.thm.arsnova.entities.LoginCredentials;
import de.thm.arsnova.entities.UserProfile;
import de.thm.arsnova.services.UserService;
import org.pac4j.core.client.Client;
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;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.Comment;
import de.thm.arsnova.services.CommentService;
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;
......
......@@ -17,10 +17,10 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.AnswerStatistics;
import de.thm.arsnova.entities.Content;
import de.thm.arsnova.services.AnswerService;
import de.thm.arsnova.services.ContentService;
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;
......
......@@ -17,14 +17,14 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.exceptions.BadRequestException;
import de.thm.arsnova.exceptions.ForbiddenException;
import de.thm.arsnova.exceptions.NoContentException;
import de.thm.arsnova.exceptions.NotFoundException;
import de.thm.arsnova.exceptions.NotImplementedException;
import de.thm.arsnova.exceptions.PayloadTooLargeException;
import de.thm.arsnova.exceptions.PreconditionFailedException;
import de.thm.arsnova.exceptions.UnauthorizedException;
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 org.ektorp.DocumentNotFoundException;
import org.slf4j.event.Level;
import org.springframework.http.HttpStatus;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.Motd;
import de.thm.arsnova.services.MotdService;
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;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.entities.Room;
import de.thm.arsnova.services.RoomService;
import de.thm.arsnova.model.Room;
import de.thm.arsnova.service.RoomService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......
package de.thm.arsnova.controller;
import com.fasterxml.jackson.annotation.JsonView;
import de.thm.arsnova.entities.LoginCredentials;
import de.thm.arsnova.entities.UserProfile;
import de.thm.arsnova.entities.serialization.View;
import de.thm.arsnova.exceptions.BadRequestException;
import de.thm.arsnova.exceptions.ForbiddenException;
import de.thm.arsnova.services.RoomService;
import de.thm.arsnova.services.UserService;
import de.thm.arsnova.model.LoginCredentials;
import de.thm.arsnova.model.UserProfile;
import de.thm.arsnova.model.serialization.View;
import de.thm.arsnova.web.exceptions.BadRequestException;
import de.thm.arsnova.web.exceptions.ForbiddenException;
import de.thm.arsnova.service.RoomService;
import de.thm.arsnova.service.UserService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......
......@@ -17,8 +17,8 @@
*/
package de.thm.arsnova.controller;
import de.thm.arsnova.exceptions.BadRequestException;
import de.thm.arsnova.exceptions.NoContentException;
import de.thm.arsnova.web.exceptions.BadRequestException;
import de.thm.arsnova.web.exceptions.NoContentException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
......
......@@ -19,12 +19,12 @@ package de.thm.arsnova.controller.v2;
import de.thm.arsnova.config.SecurityConfig;
import de.thm.arsnova.controller.AbstractController;
import de.thm.arsnova.entities.ServiceDescription;
import de.thm.arsnova.entities.migration.v2.ClientAuthentication;
import de.thm.arsnova.entities.UserProfile;
import de.thm.arsnova.exceptions.UnauthorizedException;
import de.thm.arsnova.model.ServiceDescription;
import de.thm.arsnova.model.migration.v2.ClientAuthentication;
import de.thm.arsnova.model.UserProfile;
import de.thm.arsnova.web.exceptions.UnauthorizedException;
import de.thm.arsnova.security.User;
import de.thm.arsnova.services.UserService;
import de.thm.arsnova.service.UserService;
import org.pac4j.core.context.J2EContext;
import org.pac4j.core.exception.HttpAction;
import org.pac4j.oauth.client.FacebookClient;
......
......@@ -18,15 +18,14 @@
package de.thm.arsnova.controller.v2;
import de.thm.arsnova.controller.PaginationController;
import de.thm.arsnova.entities.Room;
import de.thm.arsnova.entities.migration.FromV2Migrator;
import de.thm.arsnova.entities.migration.ToV2Migrator;
import de.thm.arsnova.entities.migration.v2.Comment;
import de.thm.arsnova.entities.migration.v2.CommentReadingCount;
import de.thm.arsnova.exceptions.BadRequestException;
import de.thm.arsnova.services.CommentService;
import de.thm.arsnova.services.RoomService;
import de.thm.arsnova.services.UserService;
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;
......@@ -117,7 +116,7 @@ public class CommentController extends PaginationController {
@ApiParam(value = "Room-Key from current room", required = true) @RequestParam("sessionkey") final String roomShortId,
@ApiParam(value = "the body from the new comment", required = true) @RequestBody final Comment comment
) {
de.thm.arsnova.entities.Comment commentV3 = fromV2Migrator.migrate(comment);
de.thm.arsnova.model.Comment commentV3 = fromV2Migrator.migrate(comment);
Room roomV3 = roomService.getByShortId(roomShortId);
commentV3.setRoomId(roomV3.getId());
commentService.create(commentV3);
......
......@@ -18,22 +18,21 @@
package de.thm.arsnova.controller.v2;
import de.thm.arsnova.controller.PaginationController;
import de.thm.arsnova.entities.ChoiceAnswer;
import de.thm.arsnova.entities.ChoiceQuestionContent;
import de.thm.arsnova.entities.TextAnswer;
import de.thm.arsnova.entities.migration.FromV2Migrator;
import de.thm.arsnova.entities.migration.ToV2Migrator;
import de.thm.arsnova.entities.migration.v2.Answer;
import de.thm.arsnova.entities.migration.v2.Content;
import de.thm.arsnova.exceptions.BadRequestException;
import de.thm.arsnova.exceptions.ForbiddenException;
import de.thm.arsnova.exceptions.NoContentException;
import de.thm.arsnova.exceptions.NotFoundException;
import de.thm.arsnova.exceptions.NotImplementedException;
import de.thm.arsnova.services.AnswerService;
import de.thm.arsnova.services.ContentService;
import de.thm.arsnova.services.RoomService;
import de.thm.arsnova.services.TimerService;
import de.thm.arsnova.model.ChoiceAnswer;
import de.thm.arsnova.model.ChoiceQuestionContent;
import de.thm.arsnova.model.TextAnswer;
import de.thm.arsnova.model.migration.FromV2Migrator;
import de.thm.arsnova.model.migration.ToV2Migrator;
import de.thm.arsnova.model.migration.v2.Answer;
import de.thm.arsnova.model.migration.v2.Content;
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.service.AnswerService;
import de.thm.arsnova.service.ContentService;
import de.thm.arsnova.service.RoomService;
import de.thm.arsnova.service.TimerService;
import de.thm.arsnova.util.PaginationListDecorator;
import de.thm.arsnova.web.DeprecatedApi;
import de.thm.arsnova.web.Pagination;
......@@ -92,7 +91,7 @@ public class ContentController extends PaginationController {
})
@RequestMapping(value = "/{contentId}", method = RequestMethod.GET)
public Content getContent(@PathVariable final String contentId) {
final de.thm.arsnova.entities.Content content = contentService.get(contentId);
final de.thm.arsnova.model.Content content = contentService.get(contentId);
if (content != null) {
return toV2Migrator.migrate(content);
}
......@@ -108,7 +107,7 @@ public class ContentController extends PaginationController {
@RequestMapping(value = "/", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public Content postContent(@RequestBody final Content content) {
de.thm.arsnova.entities.Content contentV3 = fromV2Migrator.migrate(content);
de.thm.arsnova.model.Content contentV3 = fromV2Migrator.migrate(content);
final String roomId = roomService.getIdByShortId(content.getSessionKeyword());
contentV3.setRoomId(roomId);
contentService.create(contentV3);
......@@ -123,7 +122,7 @@ public class ContentController extends PaginationController {
@RequestMapping(value = "/bulk", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public List<Content> bulkPostContents(@RequestBody final List<Content> contents) {
List<de.thm.arsnova.entities.Content> contentsV3 =
List<de.thm.arsnova.model.Content> contentsV3 =
contents.stream().map(c -> contentService.create(fromV2Migrator.migrate(c))).collect(Collectors.toList());
return contentsV3.stream().map(toV2Migrator::migrate).collect(Collectors.toList());
}
......@@ -210,7 +209,7 @@ public class ContentController extends PaginationController {
) {
String roomId = roomService.getIdByShortId(roomShortId);
boolean disable = false;
Iterable<de.thm.arsnova.entities.Content> contents;
Iterable<de.thm.arsnova.model.Content> contents;
if (disableVote != null) {
disable = disableVote;
......@@ -236,7 +235,7 @@ public class ContentController extends PaginationController {
@RequestParam(required = false) final Boolean publish,
@RequestBody final Content content
) {
de.thm.arsnova.entities.Content contentV3 = fromV2Migrator.migrate(content);
de.thm.arsnova.model.Content contentV3 = fromV2Migrator.migrate(content);
if (publish != null) {
contentV3.getState().setVisible(publish);
}
......@@ -254,7 +253,7 @@ public class ContentController extends PaginationController {
) {
String roomId = roomService.getIdByShortId(roomShortId);
boolean p = publish == null || publish;
Iterable<de.thm.arsnova.entities.Content> contents;
Iterable<de.thm.arsnova.model.Content> contents;
if (lectureContentsOnly) {
contents = contentService.getByRoomIdAndGroup(roomId, "lecture");
......@@ -275,7 +274,7 @@ public class ContentController extends PaginationController {
@RequestParam(required = false) final Boolean showStatistics,
@RequestBody final Content content
) {
de.thm.arsnova.entities.Content contentV3 = fromV2Migrator.migrate(content);
de.thm.arsnova.model.Content contentV3 = fromV2Migrator.migrate(content);
if (showStatistics != null) {
contentV3.getState().setResponsesVisible(showStatistics);
}
......@@ -290,7 +289,7 @@ public class ContentController extends PaginationController {
@RequestParam(required = false) final Boolean showCorrectAnswer,
@RequestBody final Content content
) {
de.thm.arsnova.entities.Content contentV3 = fromV2Migrator.migrate(content);
de.thm.arsnova.model.Content contentV3 = fromV2Migrator.migrate(content);
if (showCorrectAnswer != null) {
contentV3.getState().setSolutionVisible(showCorrectAnswer);
}
......@@ -310,7 +309,7 @@ public class ContentController extends PaginationController {
final HttpServletResponse response
) {
String roomId = roomService.getIdByShortId(roomShortId);
Iterable<de.thm.arsnova.entities.Content> contents;
Iterable<de.thm.arsnova.model.Content> contents;
if (lectureContentsOnly) {
contents = contentService.getByRoomIdAndGroup(roomId, "lecture");
} else if (flashcardsOnly) {
......@@ -438,14 +437,14 @@ public class ContentController extends PaginationController {
@PathVariable final String contentId,
final HttpServletResponse response
) {
final de.thm.arsnova.entities.Content content = contentService.get(contentId);
final de.thm.arsnova.entities.Answer answer = answerService.getMyAnswer(contentId);
final de.thm.arsnova.model.Content content = contentService.get(contentId);
final de.thm.arsnova.model.Answer answer = answerService.getMyAnswer(contentId);
if (answer == null) {
response.setStatus(HttpStatus.NO_CONTENT.value());
return null;
}
if (content.getFormat().equals(de.thm.arsnova.entities.Content.Format.TEXT)) {
if (content.getFormat().equals(de.thm.arsnova.model.Content.Format.TEXT)) {
return toV2Migrator.migrate((TextAnswer) answer);
} else {
return toV2Migrator.migrate((ChoiceAnswer) answer, (ChoiceQuestionContent) content);
......@@ -474,12 +473,12 @@ public class ContentController extends PaginationController {
@RequestParam(value = "piround", required = false) final Integer piRound,
@RequestParam(value = "all", required = false, defaultValue = "false") final Boolean allAnswers,
final HttpServletResponse response) {
final de.thm.arsnova.entities.Content content = contentService.get(contentId);
final de.thm.arsnova.model.Content content = contentService.get(contentId);
if (content instanceof ChoiceQuestionContent) {
return toV2Migrator.migrate(answerService.getAllStatistics(contentId),
(ChoiceQuestionContent) content, content.getState().getRound());
} else {
List<de.thm.arsnova.entities.TextAnswer> answers;
List<de.thm.arsnova.model.TextAnswer> answers;
if (allAnswers) {
answers = answerService.getAllTextAnswers(contentId, -1, -1);
} else if (null == piRound) {
......@@ -507,8 +506,8 @@ public class ContentController extends PaginationController {
@RequestBody final Answer answer,
final HttpServletResponse response
) {
final de.thm.arsnova.entities.Content content = contentService.get(contentId);
final de.thm.arsnova.entities.Answer answerV3 = fromV2Migrator.migrate(answer, content);
final de.thm.arsnova.model.Content content = contentService.get(contentId);
final de.thm.arsnova.model.Answer answerV3 = fromV2Migrator.migrate(answer, content);
if (answerV3 instanceof TextAnswer) {
return toV2Migrator.migrate((TextAnswer) answerService.saveAnswer(contentId, answerV3));
......@@ -526,8 +525,8 @@ public class ContentController extends PaginationController {
@RequestBody final Answer answer,
final HttpServletResponse response
) {
final de.thm.arsnova.entities.Content content = contentService.get(contentId);
final de.thm.arsnova.entities.Answer answerV3 = fromV2Migrator.migrate(answer, content);
final de.thm.arsnova.model.Content content = contentService.get(contentId);
final de.thm.arsnova.model.Answer answerV3 = fromV2Migrator.migrate(answer, content);
if (answerV3 instanceof TextAnswer) {
return toV2Migrator.migrate((TextAnswer) answerService.updateAnswer(answerV3));
......
......@@ -21,10 +21,10 @@ import de.thm.arsnova.connector.client.ConnectorClient;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.connector.model.UserRole;
import de.thm.arsnova.controller.AbstractController;
import de.thm.arsnova.entities.migration.v2.ClientAuthentication;
import de.thm.arsnova.exceptions.NotImplementedException;
import de.thm.arsnova.exceptions.UnauthorizedException;
import de.thm.arsnova.services.UserService;
import de.thm.arsnova.model.migration.v2.ClientAuthentication;
import de.thm.arsnova.web.exceptions.NotImplementedException;
import de.thm.arsnova.web.exceptions.UnauthorizedException;
import de.thm.arsnova.service.UserService;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment