package ExemplosFolderService; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.ws.BindingProvider; import com.datasul.technology.webdesk.dm.dtos.ApprovalLevelDto; import com.datasul.technology.webdesk.dm.ws.ApprovalLevelDtoArray; import com.datasul.technology.webdesk.dm.dtos.ApproverDto; import com.datasul.technology.webdesk.dm.ws.ApproverDtoArray; import com.datasul.technology.webdesk.dm.dtos.ApproverWithLevelDto; import com.datasul.technology.webdesk.dm.ws.ApproverWithLevelDtoArray; import com.datasul.technology.webdesk.dm.dtos.DocumentDto; import com.datasul.technology.webdesk.dm.ws.DocumentDtoArray; import com.datasul.technology.webdesk.dm.dtos.DocumentSecurityConfigDto; import com.datasul.technology.webdesk.dm.ws.DocumentSecurityConfigDtoArray; import com.datasul.technology.webdesk.dm.ws.FolderService; import com.datasul.technology.webdesk.dm.ws.FolderServiceService; import com.datasul.technology.webdesk.dm.ws.WebServiceMessageArray; /** * Classe que utiliza todos os métodos da FolderService. * Com essa classe, pode-se criar, alterar, excluir e pesquisar pastas, além de realizar outras atividades relacionadas a pastas. * 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 FolderServiceClient { // Variáveis. String loginColaborador, senhaColaborador, matriculaColaborador, matriculaColaboradorSeguranca, matriculaAprovador, publicadorPasta, descricaoPasta; int codigoEmpresa, numeroPasta, versaoPasta, permissao, numeroDocumentPai, numeroPastaParticular, limite, ultimoRegistro; boolean pastaParticular; String[] tiposDocumento; // Variáveis de data. XMLGregorianCalendar approvedDate, createDate, expirationDate, lastModifiedDate, validationStartDate; // Dto's. DocumentDto documentDto = new DocumentDto(); DocumentSecurityConfigDto documentSecurityConfigDto = new DocumentSecurityConfigDto(); ApproverDto approverDto = new ApproverDto(); ApproverWithLevelDto approverWithLevelDto = new ApproverWithLevelDto(); ApprovalLevelDto approvalLevelDto = new ApprovalLevelDto(); // Array's DocumentDtoArray documentDtoArray = new DocumentDtoArray(); DocumentSecurityConfigDtoArray documentSecurityConfigDtoArray = new DocumentSecurityConfigDtoArray(); ApproverDtoArray approverDtoArray = new ApproverDtoArray(); ApproverWithLevelDtoArray approverWithLevelDtoArray = new ApproverWithLevelDtoArray(); ApprovalLevelDtoArray approvalLevelDtoArray = new ApprovalLevelDtoArray(); WebServiceMessageArray webServiceMessageArray = new WebServiceMessageArray(); // Instancia FolderServiceService. FolderServiceService folderService = new FolderServiceService(); FolderService service = folderService.getFolderServicePort(); // Inicia execução da classe. public static void main (String args[]) { System.out.println("\nClasse FolderService"); // Instancia classe FolderServiceClient. FolderServiceClient fsc = new FolderServiceClient(); // Configura acesso ao WebServices. BindingProvider bp = (BindingProvider) fsc.service; bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:8080/webdesk/FolderService"); try { // Chama método que configura os valores das variáveis. fsc.setParameters(); // Chama método que é responsável por executar os métodos da classe. fsc.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.matriculaColaborador = "adm"; this.matriculaAprovador = "adm"; this.matriculaColaboradorSeguranca = "adm"; this.codigoEmpresa = 1; this.numeroPasta = 44049; this.versaoPasta = 1000; this.descricaoPasta = "Pasta do ECM"; this.publicadorPasta = "adm"; this.numeroDocumentPai = 44049; this.numeroPastaParticular = 110; this.permissao = 0; this.limite = 5; this.ultimoRegistro = 0; this.pastaParticular = false; this.tiposDocumento = new String[]{"1", "2"}; // Cria data de criação do documento. this.createDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(); this.createDate.setYear(2010); this.createDate.setMonth(04); this.createDate.setDay(27); this.createDate.setHour(0); this.createDate.setMinute(0); this.createDate.setSecond(0); // Cria data de expiração do documento. this.expirationDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(); this.expirationDate.setYear(2010); this.expirationDate.setMonth(04); this.expirationDate.setDay(30); this.expirationDate.setHour(0); this.expirationDate.setMinute(0); this.expirationDate.setSecond(0); // Cria data de aprovação do documento. this.approvedDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(); this.approvedDate.setYear(2010); this.approvedDate.setMonth(04); this.approvedDate.setDay(27); this.approvedDate.setHour(0); this.approvedDate.setMinute(0); this.approvedDate.setSecond(0); // Cria data da última modificação do documento. this.lastModifiedDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(); this.lastModifiedDate.setYear(2010); this.lastModifiedDate.setMonth(04); this.lastModifiedDate.setDay(27); this.lastModifiedDate.setHour(0); this.lastModifiedDate.setMinute(0); this.lastModifiedDate.setSecond(0); // Cria data de validação inicial do documento. this.validationStartDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(); this.validationStartDate.setYear(2010); this.validationStartDate.setMonth(04); this.validationStartDate.setDay(27); this.validationStartDate.setHour(0); this.validationStartDate.setMinute(0); this.validationStartDate.setSecond(0); } /** * Escolhe método. * Nesse método, pode-se escolher qual método da classe será executado. */ public void changeMethod() throws Exception { // Chama método getFolder. //this.getFolder(); // Chama método getSecurity. //this.getSecurity(); // Chama método getApprovers. //this.getApprovers(); // Chama método createFolder. //this.createFolder(); // Chama método createFolderWithApprovementLevels. //this.createFolderWithApprovementLevels(); // Chama método updateFolder. //this.updateFolder(); // Chama método updateFolderWithApprovementLevels. //this.updateFolderWithApprovementLevels(); // Chama método getRootFolders. //this.getRootFolders(); // Chama método getChildren. //this.getChildren(); // Chama método getSubFolders. //this.getSubFolders(); // Chama método getSubFoldersOnDemand. //this.getSubFoldersOnDemand(); // Chama método getUserPermissions. //this.getUserPermissions(); // Chama método createSimpleFolder. //this.createSimpleFolder(); // Chama método getSubPrivateFolders. //this.getSubPrivateFolders(); // Chama método getSubFoldersPermission. //this.getSubFoldersPermission(); // Chama método deleteDocument. //this.deleteDocument(); // Chama método destroyDocument. //this.destroyDocument(); // Chama método findRecycledDocuments. //this.findRecycledDocuments(); // Chama método restoreDocument. //this.restoreDocument(); } /** * Retorna uma pasta. * * Método: getActiveDocument. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void getFolder() throws Exception { System.out.println("\nMétodo getFolder\n"); // Retorna uma pasta. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Mostra resultado. if (this.documentDtoArray.getItem().get(0) != null) { System.out.println("Nome da pasta: " + documentDtoArray.getItem().get(0).getDocumentDescription()); } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna a segurança de uma pasta. * * Método: getSecurity. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta. */ public void getSecurity() throws Exception { System.out.println("\nMétodo getSecurity\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Retorna a segurança de uma pasta. this.documentSecurityConfigDtoArray = (DocumentSecurityConfigDtoArray) service.getSecurity(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta); // Mostra resultado. if (this.documentSecurityConfigDtoArray.getItem().size() > 0) { for (int i = 0; i < this.documentSecurityConfigDtoArray.getItem().size(); i++) { System.out.println("Colaborador: " + this.documentSecurityConfigDtoArray.getItem().get(i).getAttributionValue()); System.out.println("Sequência: " + this.documentSecurityConfigDtoArray.getItem().get(i).getSequence()); System.out.println("Level de segurança: " + this.documentSecurityConfigDtoArray.getItem().get(i).getSecurityLevel()); System.out.println(""); } } else { System.out.println("Pasta " + this.numeroPasta + " não possui segurança!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna os aprovadores de uma pasta. * * Método: getApprovers. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta. */ public void getApprovers() throws Exception { System.out.println("\nMétodo getApprovers\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { String approverType = ""; // Retorna os aprovadores de uma pasta. this.approverWithLevelDtoArray = (ApproverWithLevelDtoArray) service.getApprovers(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta); // Mostra resultado. if (this.approverWithLevelDtoArray.getItem().size() > 0) { for (int i = 0; i < this.approverWithLevelDtoArray.getItem().size(); i++) { // Verifica tipo de aprovação (0 - Colaboradores; 1 - Grupos). if (this.approverWithLevelDtoArray.getItem().get(i).getApproverType() == 0) { approverType = "Colaborador: "; } else { approverType = "Grupo: "; } System.out.println(approverType + this.approverWithLevelDtoArray.getItem().get(i).getColleagueId()); System.out.println("Nível de aprovação: " + this.approverWithLevelDtoArray.getItem().get(i).getLevelId()); System.out.println(""); } } else { System.out.println("Pasta " + this.numeroPasta + " não possui aprovadores!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Cria uma pasta. * * Método: createFolder. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de pastas; * - Array de segurança da pasta; * - Array de aprovadores da pasta. */ public void createFolder() throws Exception { System.out.println("\nMétodo createFolder\n"); // Cria pasta. this.documentDto.setApprovalAndOr(true); this.documentDto.setApproved(true); this.documentDto.setApprovedDate(this.approvedDate); this.documentDto.setAtualizationId(1); this.documentDto.setColleagueId(this.matriculaColaborador); this.documentDto.setCompanyId(1); this.documentDto.setCreateDate(this.createDate); this.documentDto.setDeleted(false); this.documentDto.setDocumentDescription(this.descricaoPasta); this.documentDto.setDocumentType("1"); // 1 - Pasta; 2 - Documento; 3 - Documento Externo; 4 - Fichário; 5 - Fichas; 9 - Aplicativo; 10 - Relatório. this.documentDto.setDownloadEnabled(true); this.documentDto.setExpirationDate(this.expirationDate); this.documentDto.setExpires(true); this.documentDto.setInheritSecurity(true); this.documentDto.setLastModifiedDate(this.lastModifiedDate); this.documentDto.setParentDocumentId(this.numeroDocumentPai); this.documentDto.setPrivateDocument(false); this.documentDto.setPublisherId(this.publicadorPasta); this.documentDto.setValidationStartDate(this.validationStartDate); this.documentDto.setUpdateIsoProperties(true); this.documentDto.setUserNotify(false); this.documentDto.setVersionOption("0"); // 0 - Mantém versão atual; 1 - Cria nova revisão; 2 - Cria nova versão. this.documentDto.setDocumentPropertyNumber(0); this.documentDto.setDocumentPropertyVersion(0); this.documentDto.setVolumeId("Default"); this.documentDto.setIconId(0); this.documentDto.setLanguageId("pt"); this.documentDto.setIndexed(false); this.documentDto.setActiveVersion(true); this.documentDto.setTranslated(false); this.documentDto.setTopicId(1); this.documentDto.setDocumentTypeId(""); this.documentDto.setExternalDocumentId(""); this.documentDto.setDatasetName(""); this.documentDto.setColleagueName(""); this.documentDto.setVersionDescription(""); this.documentDto.setKeyWord(""); this.documentDto.setAdditionalComments(""); this.documentDto.setImutable(false); this.documentDto.setProtectedCopy(false); this.documentDto.setAccessCount(0); // Adiciona pasta no array de pastas. this.documentDtoArray.getItem().add(this.documentDto); // Cria segurança da pasta. this.documentSecurityConfigDto.setAttributionValue(this.matriculaColaboradorSeguranca); this.documentSecurityConfigDto.setAttributionType(1); // 1 - Colaborador; 2 - Grupos; 3 - Todos. this.documentSecurityConfigDto.setSecurityLevel(3); // 0 - Leitura; 1 - Gravação; 2 - Modificação; 3 - Total. this.documentSecurityConfigDto.setPermission(true); this.documentSecurityConfigDto.setSecurityVersion(false); this.documentSecurityConfigDto.setShowContent(true); // Adiciona segurança no array de segurança. this.documentSecurityConfigDtoArray.getItem().add(this.documentSecurityConfigDto); // Cria aprovador da pasta. this.approverDto.setColleagueId(this.matriculaAprovador); this.approverDto.setApproverType(0); // 0 - Colaborador; 1 - Grupo de usuários. this.approverDto.setCompanyId(1); // Adiciona aprovador no array de aprovadores. this.approverDtoArray.getItem().add(this.approverDto); // Cria uma pasta. this.webServiceMessageArray = service.createFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.documentDtoArray, this.documentSecurityConfigDtoArray, this.approverDtoArray); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() > 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi criada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } /** * Cria uma pasta com nível de aprovação. * * Método: createFolderWithApprovementLevels. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de pastas; * - Array de segurança da pasta; * - Array de aprovadores em níveis; * - Array de níveis de aprovação da pasta. */ public void createFolderWithApprovementLevels() throws Exception { System.out.println("\nMétodo createFolderWithApprovementLevels\n"); // Cria pasta. this.documentDto.setApprovalAndOr(true); this.documentDto.setApproved(true); this.documentDto.setApprovedDate(this.approvedDate); this.documentDto.setAtualizationId(1); this.documentDto.setColleagueId(this.matriculaColaborador); this.documentDto.setCompanyId(1); this.documentDto.setCreateDate(this.createDate); this.documentDto.setDeleted(false); this.documentDto.setDocumentDescription(this.descricaoPasta); this.documentDto.setDocumentType("1"); // 1 - Pasta; 2 - Documento; 3 - Documento Externo; 4 - Fichário; 5 - Fichas; 9 - Aplicativo; 10 - Relatório. this.documentDto.setDownloadEnabled(true); this.documentDto.setExpirationDate(this.expirationDate); this.documentDto.setExpires(true); this.documentDto.setInheritSecurity(true); this.documentDto.setLastModifiedDate(this.lastModifiedDate); this.documentDto.setParentDocumentId(this.numeroDocumentPai); this.documentDto.setPrivateDocument(false); this.documentDto.setPublisherId(this.publicadorPasta); this.documentDto.setValidationStartDate(this.validationStartDate); this.documentDto.setUpdateIsoProperties(true); this.documentDto.setUserNotify(false); this.documentDto.setVersionOption("0"); // 0 - Mantém versão atual; 1 - Cria nova revisão; 2 - Cria nova versão. this.documentDto.setDocumentPropertyNumber(0); this.documentDto.setDocumentPropertyVersion(0); this.documentDto.setVolumeId("Default"); this.documentDto.setIconId(0); this.documentDto.setLanguageId("pt"); this.documentDto.setIndexed(false); this.documentDto.setActiveVersion(true); this.documentDto.setTranslated(false); this.documentDto.setTopicId(1); this.documentDto.setDocumentTypeId(""); this.documentDto.setExternalDocumentId(""); this.documentDto.setDatasetName(""); this.documentDto.setColleagueName(""); this.documentDto.setVersionDescription(""); this.documentDto.setKeyWord(""); this.documentDto.setAdditionalComments(""); this.documentDto.setImutable(false); this.documentDto.setProtectedCopy(false); this.documentDto.setAccessCount(0); // Adiciona pasta no array de pastas. this.documentDtoArray.getItem().add(this.documentDto); // Cria segurança da pasta. this.documentSecurityConfigDto.setAttributionValue(this.matriculaColaboradorSeguranca); this.documentSecurityConfigDto.setAttributionType(1); // 1 - Colaborador; 2 - Grupos; 3 - Todos. this.documentSecurityConfigDto.setSecurityLevel(3); // 0 - Leitura; 1 - Gravação; 2 - Modificação; 3 - Total. this.documentSecurityConfigDto.setPermission(true); this.documentSecurityConfigDto.setSecurityVersion(false); this.documentSecurityConfigDto.setShowContent(true); // Adiciona segurança no array de segurança. this.documentSecurityConfigDtoArray.getItem().add(this.documentSecurityConfigDto); // Cria nível de aprovação em que os aprovadores da pasta estarão. this.approverWithLevelDto.setApproverType(0); // 0 - Colaborador; 1 - Grupo de usuários. this.approverWithLevelDto.setColleagueId(this.matriculaAprovador); this.approverWithLevelDto.setLevelId(1); this.approverWithLevelDto.setCompanyId(this.codigoEmpresa); // Adiciona níveis de aprovação no array de aprovadores em níveis. this.approverWithLevelDtoArray.getItem().add(this.approverWithLevelDto); // Cria níveis de aprovação da pasta. this.approvalLevelDto.setApprovalMode(1); // 1 - Ou; 2 - E; 3 - Única. this.approvalLevelDto.setLevelDescription("Primeiro Nível"); this.approvalLevelDto.setLevelId(1); // Adiciona níveis de aprovação no array de níveis de aprovação da pasta. this.approvalLevelDtoArray.getItem().add(this.approvalLevelDto); // Cria uma pasta. this.webServiceMessageArray = service.createFolderWithApprovementLevels(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.documentDtoArray, this.documentSecurityConfigDtoArray, this.approverWithLevelDtoArray, this.approvalLevelDtoArray); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() > 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi criada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } /** * Altera uma pasta. * * Método: updateFolder. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de pastas; * - Array de segurança da pasta; * - Array de aprovadores da pasta. */ public void updateFolder() throws Exception { System.out.println("\nMétodo updateFolder\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Altera pasta. this.documentDtoArray.getItem().get(0).setDocumentDescription(this.descricaoPasta); this.documentDtoArray.getItem().get(0).setVersionOption("0"); // 0 - Mantém versão atual; 1 - Cria nova revisão; 2 - Cria nova versão. this.documentDtoArray.getItem().get(0).setApprovalAndOr(true); // Altera segurança da pasta. this.documentSecurityConfigDto.setAttributionValue(this.matriculaColaboradorSeguranca); this.documentSecurityConfigDto.setAttributionType(1); // 1 - Colaborador; 2 - Grupos; 3 - Todos. this.documentSecurityConfigDto.setSecurityLevel(2); // 0 - Leitura; 1 - Gravação; 2 - Modificação; 3 - Total. this.documentSecurityConfigDto.setPermission(true); this.documentSecurityConfigDto.setSecurityVersion(false); this.documentSecurityConfigDto.setShowContent(true); // Adiciona segurança no array de segurança. this.documentSecurityConfigDtoArray.getItem().add(this.documentSecurityConfigDto); // Altera aprovador da pasta. this.approverDto.setColleagueId(this.matriculaAprovador); this.approverDto.setApproverType(0); // 0 - Colaborador; 1 - Grupo de usuários. this.approverDto.setCompanyId(1); // Adiciona aprovador no array de aprovadores. this.approverDtoArray.getItem().add(this.approverDto); // Atualiza pasta. this.webServiceMessageArray = service.updateFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.documentDtoArray, this.documentSecurityConfigDtoArray, this.approverDtoArray); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() > 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi alterada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Altera uma pasta com nível de aprovação. * * Método: updateFolderWithApprovementLevels. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Array de pastas; * - Array de segurança da pasta; * - Array de aprovadores em níveis; * - Array de níveis de aprovação da pasta. */ public void updateFolderWithApprovementLevels() throws Exception { System.out.println("\nMétodo updateFolderWithApprovementLevels\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Altera pasta. this.documentDtoArray.getItem().get(0).setDocumentDescription(this.descricaoPasta); this.documentDtoArray.getItem().get(0).setVersionOption("0"); // 0 - Mantém versão atual; 1 - Cria nova revisão; 2 - Cria nova versão. this.documentDtoArray.getItem().get(0).setApprovalAndOr(true); // Altera segurança da pasta. this.documentSecurityConfigDto.setAttributionValue(this.matriculaColaboradorSeguranca); this.documentSecurityConfigDto.setAttributionType(1); // 1 - Colaborador; 2 - Grupos; 3 - Todos. this.documentSecurityConfigDto.setSecurityLevel(3); // 0 - Leitura; 1 - Gravação; 2 - Modificação; 3 - Total. this.documentSecurityConfigDto.setPermission(true); this.documentSecurityConfigDto.setSecurityVersion(false); this.documentSecurityConfigDto.setShowContent(true); // Adiciona segurança no array de segurança. this.documentSecurityConfigDtoArray.getItem().add(this.documentSecurityConfigDto); // Altera nível de aprovação em que os aprovadores da pasta estarão. this.approverWithLevelDto.setApproverType(0); // 0 - Colaborador; 1 - Grupo de usuários. this.approverWithLevelDto.setColleagueId(this.matriculaAprovador); this.approverWithLevelDto.setLevelId(1); this.approverWithLevelDto.setCompanyId(this.codigoEmpresa); // Adiciona níveis de aprovação no array de aprovadores em níveis. this.approverWithLevelDtoArray.getItem().add(this.approverWithLevelDto); // Altera níveis de aprovação da pasta. this.approvalLevelDto.setApprovalMode(1); // 1 - Ou; 2 - E; 3 - Única. this.approvalLevelDto.setLevelDescription("Primeiro Nível"); this.approvalLevelDto.setLevelId(1); // Adiciona níveis de aprovação no array de níveis de aprovação da pasta. this.approvalLevelDtoArray.getItem().add(this.approvalLevelDto); // Altera pasta. this.webServiceMessageArray = service.updateFolderWithApprovementLevels(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.documentDtoArray, this.documentSecurityConfigDtoArray, this.approverWithLevelDtoArray, this.approvalLevelDtoArray); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() > 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi alterada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna as pastas root que um colaborador tem acesso, exceto a pasta particular. * * Método: getRootFolders. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Matrícula do colaborador. */ public void getRootFolders() throws Exception { System.out.println("\nMétodo getRootFolders\n"); // Retorna as pastas root que um colaborador tem acesso, exceto a pasta particular. this.documentDtoArray = service.getRootFolders(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.matriculaColaborador); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { for (DocumentDto document : this.documentDtoArray.getItem()) { System.out.println("Pasta root: " + document.getDocumentDescription()); } } else { System.out.println("Colaborador " + this.matriculaColaborador + " não tem acesso a nenhuma pasta root!"); } } /** * Retorna todos os documentos de uma pasta. * * Método: getChildren. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void getChildren() throws Exception { System.out.println("\nMétodo getChildren\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Retorna todos os documentos de uma pasta. this.documentDtoArray = service.getChildren(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { String tipoDocumento = ""; for (DocumentDto document : this.documentDtoArray.getItem()) { // Validação para não tentar mostrar documentos em que o colaborador não tenha permissão de leitura. if (document != null) { // Verifica tipo do documento. if (document.getDocumentType().equals("1")) { tipoDocumento = "Pasta: "; } else if (document.getDocumentType().equals("2")) { tipoDocumento = "Documento: "; } else if (document.getDocumentType().equals("3")) { tipoDocumento = "Documento Externo: "; } else if (document.getDocumentType().equals("4")) { tipoDocumento = "Fichário: "; } else if (document.getDocumentType().equals("9")) { tipoDocumento = "Aplicativo: "; } else { tipoDocumento = "Relatório: "; } System.out.println(tipoDocumento + document.getDocumentDescription()); } } } else { System.out.println("A pasta " + this.numeroPasta + " não possui nenhum documento!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna todas as subpastas de um pasta. * * Método: getSubFolders. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void getSubFolders() throws Exception { System.out.println("\nMétodo getSubFolders\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Retorna todas as subpastas de um pasta. this.documentDtoArray = service.getSubFolders(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { for (DocumentDto document : this.documentDtoArray.getItem()) { // Validação para não tentar mostrar pastas em que o colaborador não tenha permissão de leitura. if (document != null) { System.out.println("Pasta: " + document.getDocumentDescription()); } } } else { System.out.println("A pasta " + this.numeroPasta + " não possui nenhuma pasta!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna todas as subpastas e arquivos de um pasta, paginadas. * * Método: getSubFoldersOnDemand. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Pasta particular ou pasta pública * - Array de tipos de documento * - Quantidade de registros a serem retornados; * - Última linha retornada; * - Matrícula do colaborador. */ public void getSubFoldersOnDemand() throws Exception { System.out.println("\nMétodo getSubFoldersOnDemand\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Retorna todas as subpastas de um pasta. this.documentDtoArray = (DocumentDtoArray) service.getSubFoldersOnDemand(this.codigoEmpresa, this.loginColaborador, this.senhaColaborador, this.numeroPasta, this.pastaParticular, this.tiposDocumento, this.limite, this.ultimoRegistro, this.matriculaColaborador); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { for (DocumentDto document : this.documentDtoArray.getItem()) { // Validação para não tentar mostrar pastas em que o colaborador não tenha permissão de leitura. if (document != null) { System.out.println("Documento: " + document.getDocumentDescription()); } } } else { System.out.println("A pasta " + this.numeroPasta + " não possui nenhum documento!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna a permissão de um colaborador sobre uma pasta. * * Método: getUserPermissions. * * Parâmetros: * - Código da empresa; * - Matrícula do colaborador; * - Número da pasta; * - Versão da pasta. */ public void getUserPermissions() throws Exception { System.out.println("\nMétodo getUserPermissions\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Verifica se pasta possui segurança. this.documentSecurityConfigDtoArray = (DocumentSecurityConfigDtoArray) service.getSecurity(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta); // Se possui... if (this.documentSecurityConfigDtoArray.getItem().size() > 0) { System.out.println("Número da pasta: " + this.documentDtoArray.getItem().get(0).getDocumentId()); System.out.println("Nome da pasta: " + this.documentDtoArray.getItem().get(0).getDocumentDescription()); // Retorna a permissão de um colaborador sobre uma pasta. int permissao = service.getUserPermissions(this.codigoEmpresa, this.matriculaColaborador, this.numeroPasta, this.versaoPasta); String userPermission = ""; // Verifica tipo de permissão. if (permissao == 0) { userPermission = "de leitura"; } else if (permissao == 1) { userPermission = "de gravação"; } else if (permissao == 2) { userPermission = "de modificação"; } else if (permissao == 3) { userPermission = "total"; } else { System.out.println("\nColaborador " + this.matriculaColaborador + " não possui permissão sobre a pasta " + this.numeroPasta + " - versão " + this.versaoPasta); } // Mostra resultado. if (permissao > -1) { System.out.println("\nColaborador " + this.matriculaColaborador + " possui permissão " + userPermission + " sobre a pasta " + this.numeroPasta + " - versão " + this.versaoPasta); } } else { System.out.println("Pasta " + this.numeroPasta + " não possui segurança!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Cria uma pasta simples. * * Método: createSimpleFolder. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número do documento pai; * - Matrícula do colaborador publicador; * - Descrição da pasta. */ public void createSimpleFolder() throws Exception { System.out.println("\nMétodo createSimpleFolder\n"); // Cria uma pasta simples. this.webServiceMessageArray = service.createSimpleFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroDocumentPai, this.publicadorPasta, this.descricaoPasta); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() > 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi criada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } /** * Retorna todas as subpastas de uma pasta particular. * * Método: getSubPrivateFolders. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta particular. */ public void getSubPrivateFolders() throws Exception { System.out.println("\nMétodo getSubPrivateFolders\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPastaParticular, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Verifica se é pasta particular. if (this.documentDtoArray.getItem().get(0).getDocumentType().equals("1") && this.documentDtoArray.getItem().get(0).isPrivateDocument()) { // Retorna todas as subpastas de um pasta particular. this.documentDtoArray = service.getSubPrivateFolders(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPastaParticular); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { for (DocumentDto documento : this.documentDtoArray.getItem()) { System.out.println("Nome da pasta: " + documento.getDocumentDescription()); } } else { System.out.println("Pasta " + this.numeroPastaParticular + " não possui nenhuma pasta!"); } } else { System.out.println("Pasta " + this.numeroPastaParticular + " não é particular!"); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Retorna todas as subspastas em que o colaborador tenha a permissão informada. * * Método: getSubFoldersPermission. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta particular; * - Matrícula do colaborador; * - Permissão sobre a pasta. */ public void getSubFoldersPermission() throws Exception { System.out.println("\nMétodo getSubFoldersPermission\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { String userPermission = ""; // Verifica tipo de permissão. if (this.permissao == 0) { userPermission = "de leitura"; } else if (this.permissao == 1) { userPermission = "de gravação"; } else if (this.permissao == 2) { userPermission = "de modificação"; } else if (this.permissao == 3) { userPermission = "total"; } // Retorna todas as subspastas em que o colaborador tenha a permissão informada. this.documentDtoArray = service.getSubFoldersPermission(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador, this.permissao); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { System.out.println("Colaborador " + this.matriculaColaborador + " possui permissão " + userPermission + " nas pastas: "); for (DocumentDto documento : this.documentDtoArray.getItem()) { System.out.println(" " + documento.getDocumentId() + " - " + documento.getDocumentDescription()); } } else { System.out.println("Colaborador " + this.matriculaColaborador + " não possui permissão " + userPermission + " na pasta " + this.numeroPasta); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Exclui uma pasta e envia para a lixeira. * * Método: deleteDocument. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void deleteDocument() throws Exception { System.out.println("\nMétodo deleteDocument\n"); // Verifica se pasta existe. this.documentDtoArray = (DocumentDtoArray) service.getFolder(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Se existe... if (this.documentDtoArray.getItem().get(0) != null) { // Exclui uma pasta e envia para a lixeira. this.webServiceMessageArray = service.deleteDocument(this.loginColaborador, this.senhaColaborador, this.documentDtoArray.getItem().get(0).getCompanyId(), this.documentDtoArray.getItem().get(0).getDocumentId(), this.matriculaColaborador); // Mostra resultado. if (this.webServiceMessageArray != null) { System.out.println("Pasta " + this.documentDtoArray.getItem().get(0).getDocumentId() + " foi excluida!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } else { System.out.println("Pasta " + this.numeroPasta + " não foi encontrada!"); } } /** * Exclui uma pasta da lixeira. * * Método: destroyDocument. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void destroyDocument() throws Exception { System.out.println("\nMétodo destroyDocument\n"); // Exclui uma pasta da lixeira. this.webServiceMessageArray = service.destroyDocument(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() != 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi excluida da lixeira!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } /** * Retorna todos os documentos da lixeira de um colaborador. * * Método: findRecycledDocuments. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Matrícula do colaborador. */ public void findRecycledDocuments() throws Exception { System.out.println("\nMétodo findRecycledDocuments\n"); // Retorna todos os documentos da lixeira de um colaborador. this.documentDtoArray = service.findRecycledDocuments(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.matriculaColaborador); // Mostra resultado. if (!this.documentDtoArray.getItem().isEmpty()) { for (int i = 0; i < this.documentDtoArray.getItem().size(); i++) { System.out.println("Número do documento: " + this.documentDtoArray.getItem().get(i).getDocumentId()); System.out.println("Descrição do documento: " + this.documentDtoArray.getItem().get(i).getDocumentDescription()); System.out.println(""); } } else { System.out.println("Não foi encontrado nenhum documento na lixeira!"); } } /** * Restaura uma pasta da lixeira. * * Método: restoreDocument. * * Parâmetros: * - Login do colaborador; * - Senha do colaborador; * - Código da empresa; * - Número da pasta; * - Matrícula do colaborador. */ public void restoreDocument() throws Exception { System.out.println("\nMétodo restoreDocument\n"); // Restaura uma pasta da lixeira. this.webServiceMessageArray = service.restoreDocument(this.loginColaborador, this.senhaColaborador, this.codigoEmpresa, this.numeroPasta, this.matriculaColaborador); // Mostra resultado. if (this.webServiceMessageArray.getItem().get(0).getDocumentId() != 0) { System.out.println("Pasta " + this.webServiceMessageArray.getItem().get(0).getDocumentId() + " foi restaurada!"); } else { System.out.println(this.webServiceMessageArray.getItem().get(0).getWebServiceMessage()); } } }