Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create feedback response question comment db and logic layer #12198

Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,42 @@
package teammates.sqllogic.core;

import java.util.UUID;

import teammates.storage.sqlapi.FeedbackResponseCommentsDb;
import teammates.storage.sqlentity.FeedbackResponseComment;

/**
* Handles operations related to feedback response comments.
*
* @see FeedbackResponseComment
* @see FeedbackResponseCommentsDb
*/
public final class FeedbackResponseCommentsLogic {

private static final FeedbackResponseCommentsLogic instance = new FeedbackResponseCommentsLogic();
private FeedbackResponseCommentsDb frcDb;

private FeedbackResponseCommentsLogic() {
// prevent initialization
}

public static FeedbackResponseCommentsLogic inst() {
return instance;
}

/**
* Initialize dependencies for {@code FeedbackResponseCommentsLogic}.
*/
void initLogicDependencies(FeedbackResponseCommentsDb frcDb) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also update the method initializeDependencies in LogicStarter before we forget

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated!

this.frcDb = frcDb;
}

/**
* Gets an feedback response comment by feedback response comment id.
* @param id of feedback response comment.
* @return the specified feedback response comment.
*/
public FeedbackResponseComment getFeedbackQuestion(UUID id) {
return frcDb.getFeedbackResponseComment(id);
}
}
@@ -0,0 +1,67 @@
package teammates.storage.sqlapi;

import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;

import java.util.UUID;

import teammates.common.exception.EntityAlreadyExistsException;
import teammates.common.exception.InvalidParametersException;
import teammates.common.util.HibernateUtil;
import teammates.storage.sqlentity.FeedbackResponseComment;

/**
* Handles CRUD operations for feedbackResponseComments.
*
* @see FeedbackResponseComment
*/
public final class FeedbackResponseCommentsDb extends EntitiesDb<FeedbackResponseComment> {

private static final FeedbackResponseCommentsDb instance = new FeedbackResponseCommentsDb();

private FeedbackResponseCommentsDb() {
// prevent initialization
}

public static FeedbackResponseCommentsDb inst() {
return instance;
}

/**
* Gets a feedbackResponseComment or null if it does not exist.
*/
public FeedbackResponseComment getFeedbackResponseComment(UUID frId) {
assert frId != null;

return HibernateUtil.get(FeedbackResponseComment.class, frId);
}

/**
* Creates a feedbackResponseComment.
*/
public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)
throws InvalidParametersException, EntityAlreadyExistsException {
assert feedbackResponseComment != null;

if (!feedbackResponseComment.isValid()) {
throw new InvalidParametersException(feedbackResponseComment.getInvalidityInfo());
}

if (getFeedbackResponseComment(feedbackResponseComment.getId()) != null) {
throw new EntityAlreadyExistsException(
String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackResponseComment.toString()));
}

persist(feedbackResponseComment);
return feedbackResponseComment;
}

/**
* Deletes a feedbackResponseComment.
*/
public void deleteFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment) {
if (feedbackResponseComment != null) {
delete(feedbackResponseComment);
}
}

}