mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-30 18:15:39 +00:00
2. Various changes to invite service arising from moving accept and reject logic and operations out of invite web scripts, and into workflow actions on respective "accept" and "reject" transitions of invitePending task - in web-scripts-application-context removed services no longer needed for invitereponse web script (only needs WorkflowService) - moved logic and operations for accept and reject invite out of inviteresponse web script and into AcceptInviteAction and RejectInviteAction actions for invitePending task in workflow definition - refine house keeping work that cleans up invitee person node and disabled account if they are no longer being used (no outstanding pending invites for invitee) when invitee rejects invite - changed pending invites query to cater for when inviteAccepted and inviteRejected tasks left incomplete in inviter's dashboard "tasklist" - a few minor code cleanups - added SiteService to ServiceRegistry for use in accept and reject workflow action classes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10755 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
455 lines
15 KiB
Java
455 lines
15 KiB
Java
/*
|
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
|
*
|
|
* 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
|
|
* of the License, 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, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
* As a special exception to the terms and conditions of version 2.0 of
|
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
|
* FLOSS exception. You should have recieved a copy of the text describing
|
|
* the FLOSS exception, and it is also available here:
|
|
* http://www.alfresco.com/legal/licensing"
|
|
*/
|
|
package org.alfresco.repo.service;
|
|
|
|
import java.util.Collection;
|
|
|
|
import org.alfresco.mbeans.VirtServerRegistry;
|
|
import org.alfresco.repo.site.SiteService;
|
|
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
|
import org.alfresco.service.ServiceRegistry;
|
|
import org.alfresco.service.cmr.action.ActionService;
|
|
import org.alfresco.service.cmr.attributes.AttributeService;
|
|
import org.alfresco.service.cmr.audit.AuditService;
|
|
import org.alfresco.service.cmr.avm.AVMService;
|
|
import org.alfresco.service.cmr.avm.locking.AVMLockingService;
|
|
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
|
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
|
import org.alfresco.service.cmr.lock.LockService;
|
|
import org.alfresco.service.cmr.ml.ContentFilterLanguagesService;
|
|
import org.alfresco.service.cmr.ml.EditionService;
|
|
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
|
import org.alfresco.service.cmr.model.FileFolderService;
|
|
import org.alfresco.service.cmr.repository.ContentService;
|
|
import org.alfresco.service.cmr.repository.CopyService;
|
|
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
|
import org.alfresco.service.cmr.repository.NodeService;
|
|
import org.alfresco.service.cmr.repository.ScriptService;
|
|
import org.alfresco.service.cmr.repository.TemplateService;
|
|
import org.alfresco.service.cmr.rule.RuleService;
|
|
import org.alfresco.service.cmr.search.CategoryService;
|
|
import org.alfresco.service.cmr.search.SearchService;
|
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
|
import org.alfresco.service.cmr.security.AuthorityService;
|
|
import org.alfresco.service.cmr.security.OwnableService;
|
|
import org.alfresco.service.cmr.security.PermissionService;
|
|
import org.alfresco.service.cmr.security.PersonService;
|
|
import org.alfresco.service.cmr.tagging.TaggingService;
|
|
import org.alfresco.service.cmr.thumbnail.ThumbnailService;
|
|
import org.alfresco.service.cmr.version.VersionService;
|
|
import org.alfresco.service.cmr.view.ExporterService;
|
|
import org.alfresco.service.cmr.view.ImporterService;
|
|
import org.alfresco.service.cmr.workflow.WorkflowService;
|
|
import org.alfresco.service.descriptor.DescriptorService;
|
|
import org.alfresco.service.namespace.NamespaceService;
|
|
import org.alfresco.service.namespace.QName;
|
|
import org.alfresco.service.transaction.TransactionService;
|
|
import org.springframework.beans.BeansException;
|
|
import org.springframework.beans.factory.BeanFactory;
|
|
import org.springframework.beans.factory.BeanFactoryAware;
|
|
|
|
|
|
/**
|
|
* Implementation of a Service Registry based on the definition of
|
|
* Services contained within a Spring Bean Factory.
|
|
*
|
|
* @author David Caruana
|
|
*/
|
|
public class ServiceDescriptorRegistry
|
|
implements BeanFactoryAware, ServiceRegistry
|
|
{
|
|
// Bean Factory within which the registry lives
|
|
private BeanFactory beanFactory = null;
|
|
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory)
|
|
*/
|
|
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
|
|
{
|
|
this.beanFactory = beanFactory;
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getServices()
|
|
*/
|
|
public Collection<QName> getServices()
|
|
{
|
|
// TODO: Implement
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#isServiceProvided(org.alfresco.repo.ref.QName)
|
|
*/
|
|
public boolean isServiceProvided(QName service)
|
|
{
|
|
// TODO: Implement
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getService(org.alfresco.repo.ref.QName)
|
|
*/
|
|
public Object getService(QName service)
|
|
{
|
|
return beanFactory.getBean(service.getLocalName());
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getDescriptorService()
|
|
*/
|
|
public DescriptorService getDescriptorService()
|
|
{
|
|
return (DescriptorService)getService(DESCRIPTOR_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getNodeService()
|
|
*/
|
|
public NodeService getNodeService()
|
|
{
|
|
return (NodeService)getService(NODE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getNodeService()
|
|
*/
|
|
public AuthenticationService getAuthenticationService()
|
|
{
|
|
return (AuthenticationService)getService(AUTHENTICATION_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getContentService()
|
|
*/
|
|
public ContentService getContentService()
|
|
{
|
|
return (ContentService)getService(CONTENT_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getMimetypeService()
|
|
*/
|
|
public MimetypeService getMimetypeService()
|
|
{
|
|
return (MimetypeService)getService(MIMETYPE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getVersionService()
|
|
*/
|
|
public VersionService getVersionService()
|
|
{
|
|
return (VersionService)getService(VERSION_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getLockService()
|
|
*/
|
|
public LockService getLockService()
|
|
{
|
|
return (LockService)getService(LOCK_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.repo.service.ServiceRegistry#getDictionaryService()
|
|
*/
|
|
public DictionaryService getDictionaryService()
|
|
{
|
|
return (DictionaryService)getService(DICTIONARY_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getSearchService()
|
|
*/
|
|
public SearchService getSearchService()
|
|
{
|
|
return (SearchService)getService(SEARCH_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getTransactionService()
|
|
*/
|
|
public TransactionService getTransactionService()
|
|
{
|
|
return (TransactionService)getService(TRANSACTION_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getRetryingTransactionHelper()
|
|
*/
|
|
public RetryingTransactionHelper getRetryingTransactionHelper()
|
|
{
|
|
return (RetryingTransactionHelper)getService(RETRYING_TRANSACTION_HELPER);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getCopyService()
|
|
*/
|
|
public CopyService getCopyService()
|
|
{
|
|
return (CopyService)getService(COPY_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getCheckOutCheckInService()
|
|
*/
|
|
public CheckOutCheckInService getCheckOutCheckInService()
|
|
{
|
|
return (CheckOutCheckInService)getService(COCI_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getCategoryService()
|
|
*/
|
|
public CategoryService getCategoryService()
|
|
{
|
|
return (CategoryService)getService(CATEGORY_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getNamespaceService()
|
|
*/
|
|
public NamespaceService getNamespaceService()
|
|
{
|
|
return (NamespaceService)getService(NAMESPACE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getImporterService()
|
|
*/
|
|
public ImporterService getImporterService()
|
|
{
|
|
return (ImporterService)getService(IMPORTER_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getExporterService()
|
|
*/
|
|
public ExporterService getExporterService()
|
|
{
|
|
return (ExporterService)getService(EXPORTER_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getRuleService()
|
|
*/
|
|
public RuleService getRuleService()
|
|
{
|
|
return (RuleService)getService(RULE_SERVICE);
|
|
}
|
|
|
|
/*
|
|
* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getActionService()
|
|
*/
|
|
public ActionService getActionService()
|
|
{
|
|
return (ActionService)getService(ACTION_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getPermissionService()
|
|
*/
|
|
public PermissionService getPermissionService()
|
|
{
|
|
return (PermissionService)getService(PERMISSIONS_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getAuthorityService()
|
|
*/
|
|
public AuthorityService getAuthorityService()
|
|
{
|
|
return (AuthorityService)getService(AUTHORITY_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getTemplateService()
|
|
*/
|
|
public TemplateService getTemplateService()
|
|
{
|
|
return (TemplateService)getService(TEMPLATE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getTemplateService()
|
|
*/
|
|
public FileFolderService getFileFolderService()
|
|
{
|
|
return (FileFolderService)getService(FILE_FOLDER_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getScriptService()
|
|
*/
|
|
public ScriptService getScriptService()
|
|
{
|
|
return (ScriptService)getService(SCRIPT_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getWorkflowService()
|
|
*/
|
|
public WorkflowService getWorkflowService()
|
|
{
|
|
return (WorkflowService)getService(WORKFLOW_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getWorkflowService()
|
|
*/
|
|
public AuditService getAuditService()
|
|
{
|
|
return (AuditService)getService(AUDIT_SERVICE);
|
|
}
|
|
|
|
/**
|
|
* Get the AVMService.
|
|
* @return The AVMService or null if there is none.
|
|
*/
|
|
public AVMService getAVMService()
|
|
{
|
|
return (AVMService)getService(AVM_SERVICE);
|
|
}
|
|
|
|
/**
|
|
* Get the AVMService.
|
|
* @return The AVMService or null if there is none.
|
|
*/
|
|
public AVMService getAVMLockingAwareService()
|
|
{
|
|
return (AVMService)getService(AVM_LOCKING_AWARE_SERVICE);
|
|
}
|
|
|
|
/**
|
|
* Get the AVM Sync Service.
|
|
* @return The AVM Sync Service.
|
|
*/
|
|
public AVMSyncService getAVMSyncService()
|
|
{
|
|
return (AVMSyncService)getService(AVM_SYNC_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getOwnableService()
|
|
*/
|
|
public OwnableService getOwnableService()
|
|
{
|
|
return (OwnableService)getService(OWNABLE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getPersonService()
|
|
*/
|
|
public PersonService getPersonService()
|
|
{
|
|
return (PersonService)getService(PERSON_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getSiteService()
|
|
*/
|
|
public SiteService getSiteService()
|
|
{
|
|
return (SiteService) getService(SITE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getCrossRepositoryCopyService()
|
|
*/
|
|
public CrossRepositoryCopyService getCrossRepositoryCopyService()
|
|
{
|
|
return (CrossRepositoryCopyService)getService(CROSS_REPO_COPY_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getAttributeService()
|
|
*/
|
|
public AttributeService getAttributeService()
|
|
{
|
|
return (AttributeService)getService(ATTRIBUTE_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getContentFilterLanguagesService()
|
|
*/
|
|
public ContentFilterLanguagesService getContentFilterLanguagesService()
|
|
{
|
|
return (ContentFilterLanguagesService) getService(CONTENT_FILTER_LANGUAGES_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getAVMLockingService()
|
|
*/
|
|
public AVMLockingService getAVMLockingService()
|
|
{
|
|
return (AVMLockingService)getService(AVM_LOCKING_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getVirtServerRegistry()
|
|
*/
|
|
public VirtServerRegistry getVirtServerRegistry()
|
|
{
|
|
return (VirtServerRegistry)getService(VIRT_SERVER_REGISTRY);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getEditionService()
|
|
*/
|
|
public EditionService getEditionService()
|
|
{
|
|
return (EditionService) getService(EDITION_SERVICE);
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see org.alfresco.service.ServiceRegistry#getMultilingualContentService()
|
|
*/
|
|
public MultilingualContentService getMultilingualContentService()
|
|
{
|
|
return (MultilingualContentService) getService(MULTILINGUAL_CONTENT_SERVICE);
|
|
}
|
|
|
|
/**
|
|
* @see org.alfresco.service.ServiceRegistry#getThumbnailService()
|
|
*/
|
|
public ThumbnailService getThumbnailService()
|
|
{
|
|
return (ThumbnailService)getService(THUMBNAIL_SERVICE);
|
|
}
|
|
|
|
/**
|
|
* @see org.alfresco.service.ServiceRegistry#getTaggingService()
|
|
*/
|
|
public TaggingService getTaggingService()
|
|
{
|
|
return (TaggingService)getService(TAGGING_SERVICE);
|
|
}
|
|
}
|