package ExemplosCustomFieldsService; import javax.xml.ws.BindingProvider; import com.datasul.technology.webdesk.dm.ws.CustomFieldsDto; import com.datasul.technology.webdesk.dm.ws.CustomFieldsDtoArray; import com.datasul.technology.webdesk.dm.ws.CustomFieldsService; import com.datasul.technology.webdesk.dm.ws.CustomFieldsServiceService; import com.datasul.technology.webdesk.dm.ws.DocumentCustomFieldsDto; import com.datasul.technology.webdesk.dm.ws.DocumentCustomFieldsDtoArray; /** * Classe que utiliza todos os métodos da CustomFieldsClient. * Com essa classe, pode-se criar, alterar, excluir e pesquisar campos customizados, além de realizar outras atividades relacionadas a campos customizados. * No método setParameters, pode-se setar algumas das variáveis que são mais utilizadas como parâmetros nos métodos desta classe. * No método changeMethod, pode-se escolher qual método será executado. */ public class CustomFieldsClient { // Variáveis. String loginColaborador, senhaColaborador, codigoCampoCustomizado, descricaoCampoCustomizado, valorCampoCustomizado; int codigoEmpresa, numeroDocumento, versaoDocumento; // Dto's. CustomFieldsDto customFieldsDto = new CustomFieldsDto(); DocumentCustomFieldsDto documentCustomFieldsDto = new DocumentCustomFieldsDto(); // Array's CustomFieldsDtoArray customFieldsDtoArray = new CustomFieldsDtoArray(); DocumentCustomFieldsDtoArray documentCustomFieldsDtoArray = new DocumentCustomFieldsDtoArray(); // Instancia CustomFieldsServiceService. CustomFieldsServiceService customFieldsServiceService = new CustomFieldsServiceService(); CustomFieldsService service = customFieldsServiceService.getCustomFieldsServicePort(); // Inicia execução da classe. public static void main (String args[]) { System.out.println("\nClasse CustomFieldsService"); // Instancia classe CustomFieldsClient. CustomFieldsClient cfsc = new CustomFieldsClient(); // Configura acesso ao WebServices. BindingProvider bp = (BindingProvider) cfsc.service; bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:8080/webdesk/CustomFieldsService"); try { // Chama método que configura os valores das variáveis. cfsc.setParameters(); // Chama método que é responsável por executar os métodos da classe. cfsc.changeMethod(); } catch (Exception e) { e.printStackTrace(); } } /** * Configura parâmetros. * Nesse método, pode-se setar algumas das variáveis que são mais utilizadas como parâmetros nos métodos desta classe. */ public void setParameters() throws Exception { this.loginColaborador = "adm"; this.senhaColaborador = "admin"; this.codigoEmpresa = 1; this.numeroDocumento = 44056; this.versaoDocumento = 1000; this.codigoCampoCustomizado = "ecm"; this.descricaoCampoCustomizado = "Campo ECM"; this.valorCampoCustomizado = "Valor campo ECM"; } /** * Escolhe método. * Nesse método, pode-se escolher qual método da classe será executado. */ public void changeMethod() throws Exception { // Chama método createCustomFields. //this.createCustomFields(); // Chama método updateCustomFields. //this.updateCustomFields(); // Chama método removeCustomField. //this.removeCustomField(); // Chama método getAllCustomField. //this.getAllCustomField(); // Chama método setDocumentCustomFields. //this.setDocumentCustomFields(); // Chama método removeDocumentCustomField. //this.removeDocumentCustomField(); // Chama método getAllDocumentCustomField. //this.getAllDocumentCustomField(); } /** * Cria um campo customizado. * * Método: createCustomFields. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de campos customizados. */ public void createCustomFields() throws Exception { System.out.println("\nMétodo createCustomFields\n"); // Cria campo. this.customFieldsDto.setAlwaysShow(true); this.customFieldsDto.setCompanyId(this.codigoEmpresa); this.customFieldsDto.setCustomFieldDescription(this.descricaoCampoCustomizado); this.customFieldsDto.setCustomFieldId(this.codigoCampoCustomizado); // Adiciona campo no array de campos. this.customFieldsDtoArray.getItem().add(this.customFieldsDto); // Cria um campo customizado. String result = service.createCustomFields(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.customFieldsDtoArray); // Mostra resultado. if (result.equals("OK")) { System.out.println("Campo " + this.codigoCampoCustomizado + " foi criado!"); } else { System.out.println(result); } } /** * Altera um campo customizado. * * Método: updateCustomFields. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de campos customizados. */ public void updateCustomFields() throws Exception { System.out.println("\nMétodo updateCustomFields\n"); // Cria campo. this.customFieldsDto.setAlwaysShow(false); this.customFieldsDto.setCompanyId(this.codigoEmpresa); this.customFieldsDto.setCustomFieldDescription(this.descricaoCampoCustomizado); this.customFieldsDto.setCustomFieldId(this.codigoCampoCustomizado); // Adiciona campo no array de campos. this.customFieldsDtoArray.getItem().add(this.customFieldsDto); // Altera um campo customizado. String result = service.updateCustomFields(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.customFieldsDtoArray); // Mostra resultado. if (result.equals("OK")) { System.out.println("Campo " + this.codigoCampoCustomizado + " foi alterado!"); } else { System.out.println(result); } } /** * Exclui um campo customizado. * * Método: removeCustomField. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Código do campo customizado. */ public void removeCustomField() throws Exception { System.out.println("\nMétodo removeCustomField\n"); // Exclui um campo customizado. String result = service.removeCustomField(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.codigoCampoCustomizado); // Mostra resultado. if (result.equals("OK")) { System.out.println("Campo " + this.codigoCampoCustomizado + " foi excluido!"); } else { System.out.println(result); } } /** * Retorna todos os campos customizados. * * Método: getAllCustomField. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa. */ public void getAllCustomField() throws Exception { System.out.println("\nMétodo getAllCustomField\n"); // Retorna todos os campos customizados. this.customFieldsDtoArray = service.getAllCustomField(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa); // Mostra resultado. if (!this.customFieldsDtoArray.getItem().isEmpty()) { for (CustomFieldsDto customField : this.customFieldsDtoArray.getItem()) { System.out.println("Campo customizado " + customField.getCustomFieldId()); } } else { System.out.println("Nenhum campo customizado encontrado!"); } } /** * Cria ou altera um campo customizado em um documento. * * Método: setDocumentCustomFields. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de documentos com campo customizado. */ public void setDocumentCustomFields() throws Exception { System.out.println("\nMétodo setDocumentCustomFields\n"); // Cria documento com campo customizado. this.documentCustomFieldsDto.setCompanyId(this.codigoEmpresa); this.documentCustomFieldsDto.setCustomFieldId(this.codigoCampoCustomizado); this.documentCustomFieldsDto.setDocumentId(this.numeroDocumento); this.documentCustomFieldsDto.setValueId(this.valorCampoCustomizado); this.documentCustomFieldsDto.setVersion(this.versaoDocumento); // Adiciona documento no array de documentos com campo customizado. this.documentCustomFieldsDtoArray.getItem().add(this.documentCustomFieldsDto); // Cria ou altera um campo customizado em um documento. String result = service.setDocumentCustomFields(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.documentCustomFieldsDtoArray); // Mostra resultado. if (result.equals("OK")) { System.out.println("Foi criado/alterado o campo customizado " + this.codigoCampoCustomizado + " no documento " + this.numeroDocumento + " - versão " + this.versaoDocumento); } else { System.out.println(result); } } /** * Exclui um campo customizado de um documento. * * Método: removeDocumentCustomField. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Código do campo customizado; * - Número do documento; * - Versão do documento. */ public void removeDocumentCustomField() throws Exception { System.out.println("\nMétodo removeDocumentCustomField\n"); // Exclui um campo customizado de um documento. String result = service.removeDocumentCustomField(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.codigoCampoCustomizado, this.numeroDocumento, this.versaoDocumento); // Mostra resultado. if (result.equals("OK")) { System.out.println("Foi excluido o campo customizado " + this.codigoCampoCustomizado + " do documento " + this.numeroDocumento + " - versão " + this.versaoDocumento); } else { System.out.println(result); } } /** * Retorna todos os campos customizados de um documento. * * Método: getAllDocumentCustomField. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número do documento; * - Versão do documento. */ public void getAllDocumentCustomField() throws Exception { System.out.println("\nMétodo getAllDocumentCustomField\n"); // Retorna todos os campos customizados de um documento. this.documentCustomFieldsDtoArray = service.getAllDocumentCustomField(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroDocumento, this.versaoDocumento); // Mostra resultado. if (!this.documentCustomFieldsDtoArray.getItem().isEmpty()) { for (DocumentCustomFieldsDto documentCustomFields : this.documentCustomFieldsDtoArray.getItem()) { System.out.println("Campo customizado " + documentCustomFields.getCustomFieldId()); } } else { System.out.println("Nenhum campo customizado encontrado no documento " + this.numeroDocumento + " - versão " + versaoDocumento); } } }