示例#1
0
  private void CodeValidation(Code code, boolean create) {

    List<Code> codeList;

    validator.validate(code);
    code = WithoutBlankChar(code);

    if (code.getName().isEmpty())
      validator.add(new ValidationMessage("Erro", "O campo Nome nao pode ser deixado em branco"));

    if (code.getTags().isEmpty())
      validator.add(new ValidationMessage("Erro", "O campo Tags não pode ser deixado em branco"));

    if (code.getLang().isEmpty())
      validator.add(
          new ValidationMessage("Erro", "Escolha uma linguagem para o codigo a ser cadastrado"));

    if (code.getSnippet().isEmpty())
      validator.add(
          new ValidationMessage(
              "Erro", "O campo de texto do codigo não pode ser deixado em branco"));
    if (create) {
      codeList = repository.findByName(code.getName());
      if (!codeList.isEmpty())
        validator.add(
            new ValidationMessage(
                "Erro", "Nao pode haver dois codigos com o mesmo nome, insira um nome diferente"));
    }
  }
示例#2
0
 @Get
 @Path("/codes/{code.id}/edit")
 public void edit(Code code) {
   this.result
       .use(Results.logic())
       .forwardTo(CodeController.class)
       .index(repository.find(code.getId()), false);
 }
示例#3
0
 @Put
 @Path("/codes")
 public void update(Code code) {
   CodeValidation(code, false);
   validator.onErrorForwardTo(CodeController.class).index(code, false);
   repository.update(code);
   result.forwardTo(this).index(code, true);
 }
示例#4
0
  @Get
  @Path("/codes")
  public List<Code> index(Code code, boolean clean) {
    if (searchTag == null
        || searchTag.getSearchTag() == null
        || searchTag.getSearchTag().equals(""))
      result.include("searchResult", "MOSTRANDO TODOS OS TECHOS CADASTRADOS");
    else
      result.include(
          "searchResult",
          "MOSTRANDO OS RESULTADOS DA BUSCA POR \'" + searchTag.getSearchTag() + "\'");

    if (code == null) {
      return repository.findByTags(this.searchTag.getSearchTag());
    } else {
      result.include("code", code);
      if (clean) code.clean();
      return repository.findByTags(this.searchTag.getSearchTag());
    }
  }
示例#5
0
 @Get
 @Path("/codes/{code.id}")
 public Code show(Code code) {
   return repository.find(code.getId());
 }
示例#6
0
 @Delete
 @Path("/codes/{code.id}")
 public void destroy(Code code) {
   repository.destroy(repository.find(code.getId()));
   result.redirectTo(this).index(null, false);
 }