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")); } }
private Code WithoutBlankChar(Code code) { code.setName(code.getName().trim()); code.setTags(code.getTags().trim()); code.setLang(code.getLang().trim()); code.setSnippet(code.getSnippet().trim()); return code; }
@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); }
@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); }