// Path: src/main/java/com/yyqian/imagine/dto/CommentCreateForm.java
// public class CommentCreateForm {
// 
//   @NotNull
//   private Long postId;
// 
//   @NotEmpty
//   private String content = "";
// 
//   private Long parentId;
// 
//   public CommentCreateForm() {
//   }
// 
//   public Long getPostId() {
//     return postId;
//   }
// 
//   public void setPostId(Long postId) {
//     this.postId = postId;
//   }
// 
//   public String getContent() {
//     return content;
//   }
// 
//   public void setContent(String content) {
//     this.content = content.trim();
//   }
// 
//   public Long getParentId() {
//     return parentId;
//   }
// 
//   public void setParentId(Long parentId) {
//     this.parentId = parentId;
//   }
// 
// }
// 
// Path: src/main/java/com/yyqian/imagine/service/CommentService.java
// public interface CommentService {
// 
//   Comment create(Comment comment);
// 
//   Comment create(CommentCreateForm form);
// 
//   Comment update(Comment comment);
// 
//   Optional<Comment> getCommentById(long id);
// 
//   Collection<Comment> getCommentTreeByPost(Post post);
// 
//   Page<Comment> getCommentListByPage(Pageable pageable);
// 
//   Collection<Comment> getCommentListByCurrentUser();
// 
// }
// 
// Path: src/main/java/com/yyqian/imagine/service/PostService.java
// public interface PostService {
//   Optional<Post> getPostById(long id);
// 
//   Page<Post> getPostListByPage(Pageable pageable);
// 
//   Collection<Post> getPostListBySite(String site);
// 
//   Collection<Post> getPostListByCurrentUser();
// 
//   Post create(Post post);
// 
//   Post create(PostCreateForm form);
// 
//   Post update(Post post);
// 
// }


import com.yyqian.imagine.dto.CommentCreateForm;
import com.yyqian.imagine.service.CommentService;
import com.yyqian.imagine.service.PostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
package com.yyqian.imagine.dto.validator;


/**
 * Created on 1/8/16.
 *
 * @author Yinyin Qian
 */
@Component
public class CommentCreateFormValidator implements Validator {

  @Autowired
  private PostService postService;

  @Autowired
// Path: src/main/java/com/yyqian/imagine/dto/CommentCreateForm.java
// public class CommentCreateForm {
// 
//   @NotNull
//   private Long postId;
// 
//   @NotEmpty
//   private String content = "";
// 
//   private Long parentId;
// 
//   public CommentCreateForm() {
//   }
// 
//   public Long getPostId() {
//     return postId;
//   }
// 
//   public void setPostId(Long postId) {
//     this.postId = postId;
//   }
// 
//   public String getContent() {
//     return content;
//   }
// 
//   public void setContent(String content) {
//     this.content = content.trim();
//   }
// 
//   public Long getParentId() {
//     return parentId;
//   }
// 
//   public void setParentId(Long parentId) {
//     this.parentId = parentId;
//   }
// 
// }
// 
// Path: src/main/java/com/yyqian/imagine/service/CommentService.java
// public interface CommentService {
// 
//   Comment create(Comment comment);
// 
//   Comment create(CommentCreateForm form);
// 
//   Comment update(Comment comment);
// 
//   Optional<Comment> getCommentById(long id);
// 
//   Collection<Comment> getCommentTreeByPost(Post post);
// 
//   Page<Comment> getCommentListByPage(Pageable pageable);
// 
//   Collection<Comment> getCommentListByCurrentUser();
// 
// }
// 
// Path: src/main/java/com/yyqian/imagine/service/PostService.java
// public interface PostService {
//   Optional<Post> getPostById(long id);
// 
//   Page<Post> getPostListByPage(Pageable pageable);
// 
//   Collection<Post> getPostListBySite(String site);
// 
//   Collection<Post> getPostListByCurrentUser();
// 
//   Post create(Post post);
// 
//   Post create(PostCreateForm form);
// 
//   Post update(Post post);
// 
// }


// Path: src/main/java/com/yyqian/imagine/dto/validator/CommentCreateFormValidator.java
import com.yyqian.imagine.dto.CommentCreateForm;
import com.yyqian.imagine.service.CommentService;
import com.yyqian.imagine.service.PostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

package com.yyqian.imagine.dto.validator;


/**
 * Created on 1/8/16.
 *
 * @author Yinyin Qian
 */
@Component
public class CommentCreateFormValidator implements Validator {

  @Autowired
  private PostService postService;

  @Autowired
  private CommentService commentService;