TestController.java

package edu.rit.coopeval.controller;

import edu.rit.coopeval.dao.*;
import edu.rit.coopeval.evaluation.EvaluationModel;
import edu.rit.coopeval.evaluation.EvaluationType;
import edu.rit.coopeval.model.*;
import edu.rit.coopeval.security.SecurityUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.*;

/**
 * Created by mhickson on 4/2/15.
 */
@RestController
@RequestMapping(value="/api/testing")
public class TestController {

    @Autowired
    private EvaluationRepository evalRepo;
    @Autowired
    private StudentQuestionAnswerRepository studentRepo;
    @Autowired
    private EvaluationModel evalModel;
    @Autowired
    private EmployerQuestionAnswerRepository employerRepo;

    @Autowired
    private FormQuestionRepository formQuestionRepository;

    @Autowired
    private UserRepository userRepo;

    @Autowired
    private BCryptPasswordEncoder passwordEncoder;

    @RequestMapping(value = "/clearStudentAnswers", method = RequestMethod.GET)
    public boolean clearStudentAnswers(@RequestParam(value="id") Long id) {
        Evaluation evaluation = evalRepo.findOne(id);
        for(StudentQuestionAnswer sqa: evaluation.getStudentQuestionAnswersByEvaluationId()){
            sqa.setAnswer(null);
            sqa.setComment(null);
            studentRepo.save(sqa);
        }
        evalModel.updateStatus(evaluation, EvaluationType.STUDENT, "Open");
        return true;
    }

    @RequestMapping(value = "/clearEmployerAnswers", method = RequestMethod.GET)
    public boolean clearEmployerAnswers(@RequestParam(value="id") Long id) {
        Evaluation evaluation = evalRepo.findOne(id);
        for(EmployerQuestionAnswer eqa: evaluation.getEmployerQuestionAnswersByEvaluationId()){
            eqa.setAnswer(null);
            eqa.setComment(null);
            employerRepo.save(eqa);
        }
        evalModel.updateStatus(evaluation, EvaluationType.EMPLOYER, "Open");
        return true;
    }

    @RequestMapping(value = "/createAnswer", method = RequestMethod.GET)
    public boolean createAnswers(@RequestParam(value="id") Long id) {
        System.out.println(id);
        Evaluation evaluation = evalRepo.findOne(id);
        System.out.println(evaluation);
        Form form = evaluation.getFormByEmployerFormId();
        System.out.println(form);
        System.out.println(form.getFormQuestionsByFormId());
        long employerId = Long.valueOf(0);
        for(FormQuestion formQuestion: form.getFormQuestionsByFormId()){
            EmployerQuestionAnswer employerQuestionAnswer = new EmployerQuestionAnswer();
            employerQuestionAnswer.setEmployerQuestionAnswerId(employerId);
            employerQuestionAnswer.setFormQuestionByFormQuestionId(formQuestion);
            employerQuestionAnswer.setEvaluationByEvaluationId(evaluation);
            employerId = employerId +1;
            employerRepo.save(employerQuestionAnswer);
        }
        return true;
    }

    @RequestMapping(path = "user", method = RequestMethod.POST)
    public String createUser(@RequestBody User user) {
        user.setPassword(passwordEncoder.encode(user.getPassword()));

        for (UserRole r : user.getRoles()) {
            r.setUser(user);
        }

        userRepo.save(user);
        return "OK";
    }
}