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")); } }
@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); }
@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); }
@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()); } }
@Get @Path("/codes/{code.id}") public Code show(Code code) { return repository.find(code.getId()); }
@Delete @Path("/codes/{code.id}") public void destroy(Code code) { repository.destroy(repository.find(code.getId())); result.redirectTo(this).index(null, false); }