package br.com.centralit.citcorpore.ajaxForms; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.GrupoDTO; import br.com.centralit.citcorpore.negocio.GrupoService; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citsmart.rest.bean.RestDomainDTO; import br.com.centralit.citsmart.rest.bean.RestOperationDTO; import br.com.centralit.citsmart.rest.bean.RestParameterDTO; import br.com.centralit.citsmart.rest.bean.RestPermissionDTO; import br.com.centralit.citsmart.rest.service.RestDomainService; import br.com.centralit.citsmart.rest.service.RestOperationService; import br.com.centralit.citsmart.rest.service.RestParameterService; import br.com.centralit.citsmart.rest.service.RestPermissionService; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilI18N; /** * @author CentralIT * */ public class OperacaoRest extends AjaxFormAction { @Override public Class<RestOperationDTO> getBeanClass() { return RestOperationDTO.class; } @Override public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { CITCorporeUtil.limparFormulario(document); document.focusInFirstActivateField(null); this.retoreGUIToDefault(document); final RestParameterService parametrosService = (RestParameterService) ServiceLocator.getInstance().getService(RestParameterService.class, WebUtil.getUsuarioSistema(request)); request.setAttribute("colParametros", parametrosService.list()); } public void save(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { try { final RestOperationDTO restDTO = (RestOperationDTO) document.getBean(); final Collection<RestPermissionDTO> colGrupos = br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(RestPermissionDTO.class, "colGrupoSerialize", request); if (colGrupos != null) { for (final RestPermissionDTO restPermissionDTO : colGrupos) { restPermissionDTO.setIdGroup(restPermissionDTO.getIdGrupo()); } } final Collection<RestDomainDTO> colDominios = br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(RestDomainDTO.class, "colParametros_Serialize", request); restDTO.setColDominios(colDominios); final RestOperationService restService = (RestOperationService) ServiceLocator.getInstance().getService(RestOperationService.class, null); restDTO.setColGrupos(colGrupos); if (restDTO.getIdRestOperation() != null) { restService.update(restDTO); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } else { restService.create(restDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } this.retoreGUIToDefault(document); } finally { document.executeScript("JANELA_AGUARDE_MENU.hide()"); } } public void gravarParametro(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final RestOperationDTO restDTO = (RestOperationDTO) document.getBean(); RestParameterDTO restParamDTO = new RestParameterDTO(); restParamDTO.setDescription(restDTO.getDescriptionParameter()); restParamDTO.setIdentifier(restDTO.getIdentifier()); if (restParamDTO.getIdentifier().indexOf(" ") >= 0) { document.alert(UtilI18N.internacionaliza(request, "parametros.formatoIdentificador")); return; } restParamDTO.setIdentifier(restParamDTO.getIdentifier().toUpperCase()); final RestParameterService restService = (RestParameterService) ServiceLocator.getInstance().getService(RestParameterService.class, null); if (restParamDTO.getIdRestParameter() != null) { restService.update(restParamDTO); } else { restParamDTO = (RestParameterDTO) restService.create(restParamDTO); document.executeScript("adicionaParam(" + restParamDTO.getIdRestParameter() + ",\"" + restParamDTO.getDescription() + "\")"); } final HTMLForm form = document.getForm("formCadastroParam"); form.clear(); document.executeScript("$(\"#POPUP_PARAMETRO\").dialog(\"close\")"); } /** * @param document * @param request * @param response * @throws Exception * Metodo colocar status Inativo quando for solicitado a exclus�o do usuario. */ public void delete(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final RestOperationDTO restDTO = (RestOperationDTO) document.getBean(); final RestOperationService restService = (RestOperationService) ServiceLocator.getInstance().getService(RestOperationService.class, null); if (restDTO.getIdRestOperation().intValue() > 0) { restService.delete(restDTO); } final HTMLForm form = document.getForm("form"); form.clear(); document.alert(UtilI18N.internacionaliza(request, "MSG07")); document.executeScript("limpar()"); } public void restore(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { try { RestOperationDTO restDTO = (RestOperationDTO) document.getBean(); final RestOperationService restService = (RestOperationService) ServiceLocator.getInstance().getService(RestOperationService.class, null); final RestPermissionService restPermissionService = (RestPermissionService) ServiceLocator.getInstance().getService(RestPermissionService.class, null); final GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); Integer id = null; restDTO = (RestOperationDTO) restService.restore(restDTO); id = restDTO.getIdRestOperation(); document.executeScript("deleteAllRows()"); final Collection<RestPermissionDTO> colPermissoes = restPermissionService.findByIdOperation(id); if (colPermissoes != null) { for (final RestPermissionDTO restPermDto : colPermissoes) { restPermDto.setIdGrupo(restPermDto.getIdGroup()); GrupoDTO grupoDto = new GrupoDTO(); grupoDto.setIdGrupo(restPermDto.getIdGroup()); grupoDto = (GrupoDTO) grupoService.restore(grupoDto); if (grupoDto != null) { restPermDto.setSigla(grupoDto.getSigla()); } } final HTMLTable table = document.getTableById("tabelaGrupo"); table.deleteAllRows(); table.addRowsByCollection(colPermissoes, new String[] {"", "idGrupo", "sigla"}, null, null, new String[] {"gerarButtonDeleteGrupo"}, null, null); } final HTMLForm form = document.getForm("form"); form.clear(); form.setValues(restDTO); final RestDomainService restDomainService = (RestDomainService) ServiceLocator.getInstance().getService(RestDomainService.class, null); final Collection<RestDomainDTO> colParametros = restDomainService.findByIdRestOperation(restDTO.getIdRestOperation()); document.executeScript("GRID_PARAMETROS.deleteAllRows();"); if (colParametros != null) { int i = 0; for (final RestDomainDTO dominioDto : colParametros) { i++; document.executeScript("GRID_PARAMETROS.addRow()"); dominioDto.setSequencia(i); document.executeScript("seqParametro = NumberUtil.zerosAEsquerda(" + i + ",5)"); document.executeScript("exibeParametro('" + br.com.citframework.util.WebUtil.serializeObject(dominioDto, WebUtil.getLanguage(request)) + "')"); } } } finally { document.executeScript("JANELA_AGUARDE_MENU.hide()"); } } private void retoreGUIToDefault(final DocumentHTML document) throws Exception { final HTMLForm form = document.getForm("form"); form.clear(); final HTMLTable tabelaGrupo = document.getTableById("tabelaGrupo"); tabelaGrupo.deleteAllRows(); document.executeScript("GRID_PARAMETROS.deleteAllRows();"); } }