/* Index ECM Engine - A system for managing the capture (when created * or received), classification (cataloguing), storage, retrieval, * revision, sharing, reuse and disposition of documents. * * Copyright (C) 2008 Regione Piemonte * Copyright (C) 2008 Provincia di Torino * Copyright (C) 2008 Comune di Torino * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2, * or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ package it.doqui.index.ecmengine.client.webservices.backoffice; import it.doqui.index.ecmengine.client.webservices.dto.*; import it.doqui.index.ecmengine.client.webservices.dto.backoffice.*; import it.doqui.index.ecmengine.client.webservices.dto.backoffice.model.*; import it.doqui.index.ecmengine.client.webservices.exception.EcmEngineException; import it.doqui.index.ecmengine.client.webservices.exception.InvalidParameterException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.EcmEngineTransactionException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.InvalidCredentialsException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.NoDataExtractedException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.NoSuchNodeException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.PermissionDeniedException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.AclEditException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.GroupAlreadyExistsException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.GroupCreateException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.GroupDeleteException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.GroupEditException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.NoSuchGroupException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.NoSuchUserException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.TooManyNodesException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.UserAlreadyExistsException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.UserCreateException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.UserDeleteException; import it.doqui.index.ecmengine.client.webservices.exception.publishing.backoffice.UserUpdateException; public interface EcmEngineWebServiceBackofficeDelegate { String createUser(User nuovoUtente, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, UserCreateException, UserAlreadyExistsException, EcmEngineTransactionException, PermissionDeniedException, Exception; void updateUserMetadata(User utente,OperationContext context) throws InvalidParameterException, InvalidCredentialsException, UserUpdateException, NoSuchUserException, EcmEngineTransactionException, PermissionDeniedException, Exception; User [] listAllUsers(User filter, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoDataExtractedException, EcmEngineException, EcmEngineTransactionException, Exception; User retrieveUserMetadata(User filter, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoDataExtractedException, EcmEngineException, EcmEngineTransactionException, PermissionDeniedException, Exception; String createGroup(Group nuovoGruppo, Group gruppoPadre, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, GroupCreateException, GroupAlreadyExistsException, EcmEngineTransactionException, NoSuchGroupException, PermissionDeniedException, Exception; void addUserToGroup(User utente, Group gruppo, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, GroupEditException, NoSuchUserException, EcmEngineTransactionException, NoSuchGroupException, PermissionDeniedException, Exception; void removeUserFromGroup(User utente, Group gruppo, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, GroupEditException, NoSuchUserException, EcmEngineTransactionException, NoSuchGroupException, PermissionDeniedException, Exception; User [] listUsers(Group gruppo, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoSuchGroupException, EcmEngineException, EcmEngineTransactionException, Exception; void updateUserPassword(User utente, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, UserUpdateException, NoSuchUserException, EcmEngineTransactionException, PermissionDeniedException, Exception; void deleteUser(User utente,OperationContext context) throws InvalidParameterException, InvalidCredentialsException, UserDeleteException, NoSuchUserException, EcmEngineTransactionException, PermissionDeniedException, Exception; void deleteGroup(Group gruppo, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, GroupDeleteException, NoSuchGroupException, EcmEngineTransactionException, PermissionDeniedException, Exception; void addAcl(Node node, AclRecord [] acls, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; void removeAcl(Node node, AclRecord [] acls, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; void updateAcl(Node node, AclRecord [] acls, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; AclRecord [] listAcl(Node node, AclListParams params, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; void setInheritsAcl(Node node, boolean inherits, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; boolean isInheritsAcl(Node node, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, Exception; void resetAcl(Node node, AclRecord filter ,OperationContext context) throws InvalidParameterException, InvalidCredentialsException, AclEditException, NoSuchNodeException, EcmEngineTransactionException, PermissionDeniedException, Exception; IntegrityReport [] checkRepositoryIntegrity(Node node, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoSuchNodeException, TooManyNodesException, EcmEngineTransactionException, Exception; void importDataArchive(DataArchive data, Node parent, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoSuchNodeException, EcmEngineTransactionException, EcmEngineException, PermissionDeniedException, Exception; SystemProperty [] getSystemProperties(OperationContext context) throws InvalidParameterException, InvalidCredentialsException, EcmEngineException, Exception; ModelMetadata getModelDefinition(ModelDescriptor modelDescriptor, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoDataExtractedException, EcmEngineTransactionException, EcmEngineException, Exception; TypeMetadata getTypeDefinition(ModelDescriptor typeDescriptor, OperationContext context) throws InvalidParameterException, NoDataExtractedException, EcmEngineException, EcmEngineTransactionException, InvalidCredentialsException, Exception; ModelDescriptor [] getAllModelDescriptors(OperationContext context) throws InvalidParameterException, InvalidCredentialsException, EcmEngineTransactionException, EcmEngineException, Exception; Repository [] getRepositories(OperationContext context) throws InvalidParameterException, InvalidCredentialsException, EcmEngineException, Exception; Group [] listGroups(Group parentGroup, OperationContext context) throws InvalidParameterException, InvalidCredentialsException, NoSuchGroupException, EcmEngineTransactionException, EcmEngineException, Exception; Group [] listAllGroups(Group filter, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, EcmEngineException, NoDataExtractedException, Exception; void createTenant(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; void enableTenant(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; void disableTenant(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; Tenant[] getAllTenants(OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, NoDataExtractedException, PermissionDeniedException, EcmEngineException, Exception; Tenant getTenant(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, NoDataExtractedException, PermissionDeniedException, EcmEngineException, Exception; boolean tenantExists(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; void tenantDelete(Tenant tenant, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; CustomModel[] getAllCustomModels(OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, NoDataExtractedException, PermissionDeniedException, EcmEngineException, Exception; void deployCustomModel(CustomModel model, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; void undeployCustomModel(CustomModel model, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, NoDataExtractedException,EcmEngineException, Exception; void activateCustomModel(CustomModel model, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; void deactivateCustomModel(CustomModel model, OperationContext context) throws InvalidParameterException, EcmEngineTransactionException, InvalidCredentialsException, PermissionDeniedException, EcmEngineException, Exception; boolean testResources() throws Exception; }