mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Yet another merge from head to WCM-DEV2.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3774 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,275 +1,283 @@
|
||||
/*
|
||||
* Copyright (C) 2005 Alfresco, Inc.
|
||||
*
|
||||
* Licensed under the Mozilla Public License version 1.1
|
||||
* with a permitted attribution clause. You may obtain a
|
||||
* copy of the License at
|
||||
*
|
||||
* http://www.alfresco.org/legal/license.txt
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
* either express or implied. See the License for the specific
|
||||
* language governing permissions and limitations under the
|
||||
* License.
|
||||
*/
|
||||
package org.alfresco.service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.alfresco.service.cmr.action.ActionService;
|
||||
import org.alfresco.service.cmr.avm.AVMService;
|
||||
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.model.FileFolderService;
|
||||
import org.alfresco.service.cmr.repository.ContentService;
|
||||
import org.alfresco.service.cmr.repository.CopyService;
|
||||
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.PermissionService;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* This interface represents the registry of public Repository Services.
|
||||
* The registry provides meta-data about each service and provides
|
||||
* access to the service interface.
|
||||
*
|
||||
* @author David Caruana
|
||||
*/
|
||||
@PublicService
|
||||
public interface ServiceRegistry
|
||||
{
|
||||
// Service Bean Names
|
||||
|
||||
static final String SERVICE_REGISTRY = "ServiceRegistry";
|
||||
|
||||
static final QName REGISTRY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ServiceRegistry");
|
||||
static final QName DESCRIPTOR_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "DescriptorService");
|
||||
static final QName TRANSACTION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "TransactionService");
|
||||
static final QName AUTHENTICATION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AuthenticationService");
|
||||
static final QName NAMESPACE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "NamespaceService");
|
||||
static final QName DICTIONARY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "DictionaryService");
|
||||
static final QName NODE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "NodeService");
|
||||
static final QName CONTENT_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ContentService");
|
||||
static final QName MIMETYPE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "MimetypeService");
|
||||
static final QName SEARCH_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "SearchService");
|
||||
static final QName CATEGORY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CategoryService");
|
||||
static final QName COPY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CopyService");
|
||||
static final QName LOCK_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "LockService");
|
||||
static final QName VERSION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "VersionService");
|
||||
static final QName COCI_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CheckoutCheckinService");
|
||||
static final QName RULE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "RuleService");
|
||||
static final QName IMPORTER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ImporterService");
|
||||
static final QName EXPORTER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ExporterService");
|
||||
static final QName ACTION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ActionService");
|
||||
static final QName PERMISSIONS_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "PermissionService");
|
||||
static final QName AUTHORITY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AuthorityService");
|
||||
static final QName TEMPLATE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "TemplateService");
|
||||
static final QName FILE_FOLDER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "FileFolderService");
|
||||
static final QName SCRIPT_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ScriptService");
|
||||
static final QName WORKFLOW_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "WorkflowService");
|
||||
static final QName AVM_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AVMService");
|
||||
|
||||
/**
|
||||
* Get the list of services provided by the Repository
|
||||
*
|
||||
* @return list of provided Services
|
||||
*/
|
||||
@NotAuditable
|
||||
Collection<QName> getServices();
|
||||
|
||||
/**
|
||||
* Is the specified service provided by the Repository?
|
||||
*
|
||||
* @param service name of service to test provision of
|
||||
* @return true => provided, false => not provided
|
||||
*/
|
||||
@NotAuditable
|
||||
boolean isServiceProvided(QName service);
|
||||
|
||||
/**
|
||||
* Get meta-data about the specified service
|
||||
*
|
||||
* @param service name of service to retrieve meta data for
|
||||
* @return the service meta data
|
||||
*/
|
||||
@NotAuditable
|
||||
ServiceDescriptor getServiceDescriptor(QName service);
|
||||
|
||||
/**
|
||||
* Get the specified service.
|
||||
*
|
||||
* @param service name of service to retrieve
|
||||
* @return the service interface (must cast to interface as described in service meta-data)
|
||||
*/
|
||||
@NotAuditable
|
||||
Object getService(QName service);
|
||||
|
||||
/**
|
||||
* @return the descriptor service
|
||||
*/
|
||||
@NotAuditable
|
||||
DescriptorService getDescriptorService();
|
||||
|
||||
/**
|
||||
* @return the transaction service
|
||||
*/
|
||||
@NotAuditable
|
||||
TransactionService getTransactionService();
|
||||
|
||||
/**
|
||||
* @return the namespace service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
NamespaceService getNamespaceService();
|
||||
|
||||
/**
|
||||
* @return the authentication service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
AuthenticationService getAuthenticationService();
|
||||
|
||||
/**
|
||||
* @return the node service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
NodeService getNodeService();
|
||||
|
||||
/**
|
||||
* @return the content service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ContentService getContentService();
|
||||
|
||||
/**
|
||||
* @return the mimetype service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
MimetypeService getMimetypeService();
|
||||
|
||||
/**
|
||||
* @return the search service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
SearchService getSearchService();
|
||||
|
||||
/**
|
||||
* @return the version service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
VersionService getVersionService();
|
||||
|
||||
/**
|
||||
* @return the lock service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
LockService getLockService();
|
||||
|
||||
/**
|
||||
* @return the dictionary service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
DictionaryService getDictionaryService();
|
||||
|
||||
/**
|
||||
* @return the copy service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CopyService getCopyService();
|
||||
|
||||
/**
|
||||
* @return the checkout / checkin service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CheckOutCheckInService getCheckOutCheckInService();
|
||||
|
||||
/**
|
||||
* @return the category service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CategoryService getCategoryService();
|
||||
|
||||
/**
|
||||
* @return the importer service or null if not present
|
||||
*/
|
||||
@NotAuditable
|
||||
ImporterService getImporterService();
|
||||
|
||||
/**
|
||||
* @return the exporter service or null if not present
|
||||
*/
|
||||
@NotAuditable
|
||||
ExporterService getExporterService();
|
||||
|
||||
/**
|
||||
* @return the rule service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
RuleService getRuleService();
|
||||
|
||||
/**
|
||||
* @return the action service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ActionService getActionService();
|
||||
|
||||
/**
|
||||
* @return the permission service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
PermissionService getPermissionService();
|
||||
|
||||
/**
|
||||
* @return the authority service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
AuthorityService getAuthorityService();
|
||||
|
||||
/**
|
||||
* @return the template service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
TemplateService getTemplateService();
|
||||
|
||||
/**
|
||||
* @return the file-folder manipulation service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
FileFolderService getFileFolderService();
|
||||
|
||||
/**
|
||||
* @return the script execution service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ScriptService getScriptService();
|
||||
|
||||
/**
|
||||
* @return the workflow service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
WorkflowService getWorkflowService();
|
||||
|
||||
/**
|
||||
* Get the AVMService.
|
||||
* @return The AVM service (or null if one is not provided);
|
||||
*/
|
||||
@NotAuditable
|
||||
AVMService getAVMService();
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2005 Alfresco, Inc.
|
||||
*
|
||||
* Licensed under the Mozilla Public License version 1.1
|
||||
* with a permitted attribution clause. You may obtain a
|
||||
* copy of the License at
|
||||
*
|
||||
* http://www.alfresco.org/legal/license.txt
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
* either express or implied. See the License for the specific
|
||||
* language governing permissions and limitations under the
|
||||
* License.
|
||||
*/
|
||||
package org.alfresco.service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.alfresco.service.cmr.action.ActionService;
|
||||
import org.alfresco.service.cmr.audit.AuditService;
|
||||
import org.alfresco.service.cmr.avm.AVMService;
|
||||
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.model.FileFolderService;
|
||||
import org.alfresco.service.cmr.repository.ContentService;
|
||||
import org.alfresco.service.cmr.repository.CopyService;
|
||||
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.PermissionService;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* This interface represents the registry of public Repository Services.
|
||||
* The registry provides meta-data about each service and provides
|
||||
* access to the service interface.
|
||||
*
|
||||
* @author David Caruana
|
||||
*/
|
||||
@PublicService
|
||||
public interface ServiceRegistry
|
||||
{
|
||||
// Service Bean Names
|
||||
|
||||
static final String SERVICE_REGISTRY = "ServiceRegistry";
|
||||
|
||||
static final QName REGISTRY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ServiceRegistry");
|
||||
static final QName DESCRIPTOR_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "DescriptorService");
|
||||
static final QName TRANSACTION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "TransactionService");
|
||||
static final QName AUTHENTICATION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AuthenticationService");
|
||||
static final QName NAMESPACE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "NamespaceService");
|
||||
static final QName DICTIONARY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "DictionaryService");
|
||||
static final QName NODE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "NodeService");
|
||||
static final QName CONTENT_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ContentService");
|
||||
static final QName MIMETYPE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "MimetypeService");
|
||||
static final QName SEARCH_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "SearchService");
|
||||
static final QName CATEGORY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CategoryService");
|
||||
static final QName COPY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CopyService");
|
||||
static final QName LOCK_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "LockService");
|
||||
static final QName VERSION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "VersionService");
|
||||
static final QName COCI_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CheckoutCheckinService");
|
||||
static final QName RULE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "RuleService");
|
||||
static final QName IMPORTER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ImporterService");
|
||||
static final QName EXPORTER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ExporterService");
|
||||
static final QName ACTION_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ActionService");
|
||||
static final QName PERMISSIONS_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "PermissionService");
|
||||
static final QName AUTHORITY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AuthorityService");
|
||||
static final QName TEMPLATE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "TemplateService");
|
||||
static final QName FILE_FOLDER_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "FileFolderService");
|
||||
static final QName SCRIPT_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "ScriptService");
|
||||
static final QName WORKFLOW_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "WorkflowService");
|
||||
static final QName AUDIT_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AuditService");
|
||||
static final QName AVM_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AVMService");
|
||||
|
||||
/**
|
||||
* Get the list of services provided by the Repository
|
||||
*
|
||||
* @return list of provided Services
|
||||
*/
|
||||
@NotAuditable
|
||||
Collection<QName> getServices();
|
||||
|
||||
/**
|
||||
* Is the specified service provided by the Repository?
|
||||
*
|
||||
* @param service name of service to test provision of
|
||||
* @return true => provided, false => not provided
|
||||
*/
|
||||
@NotAuditable
|
||||
boolean isServiceProvided(QName service);
|
||||
|
||||
/**
|
||||
* Get meta-data about the specified service
|
||||
*
|
||||
* @param service name of service to retrieve meta data for
|
||||
* @return the service meta data
|
||||
*/
|
||||
@NotAuditable
|
||||
ServiceDescriptor getServiceDescriptor(QName service);
|
||||
|
||||
/**
|
||||
* Get the specified service.
|
||||
*
|
||||
* @param service name of service to retrieve
|
||||
* @return the service interface (must cast to interface as described in service meta-data)
|
||||
*/
|
||||
@NotAuditable
|
||||
Object getService(QName service);
|
||||
|
||||
/**
|
||||
* @return the descriptor service
|
||||
*/
|
||||
@NotAuditable
|
||||
DescriptorService getDescriptorService();
|
||||
|
||||
/**
|
||||
* @return the transaction service
|
||||
*/
|
||||
@NotAuditable
|
||||
TransactionService getTransactionService();
|
||||
|
||||
/**
|
||||
* @return the namespace service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
NamespaceService getNamespaceService();
|
||||
|
||||
/**
|
||||
* @return the authentication service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
AuthenticationService getAuthenticationService();
|
||||
|
||||
/**
|
||||
* @return the node service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
NodeService getNodeService();
|
||||
|
||||
/**
|
||||
* @return the content service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ContentService getContentService();
|
||||
|
||||
/**
|
||||
* @return the mimetype service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
MimetypeService getMimetypeService();
|
||||
|
||||
/**
|
||||
* @return the search service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
SearchService getSearchService();
|
||||
|
||||
/**
|
||||
* @return the version service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
VersionService getVersionService();
|
||||
|
||||
/**
|
||||
* @return the lock service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
LockService getLockService();
|
||||
|
||||
/**
|
||||
* @return the dictionary service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
DictionaryService getDictionaryService();
|
||||
|
||||
/**
|
||||
* @return the copy service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CopyService getCopyService();
|
||||
|
||||
/**
|
||||
* @return the checkout / checkin service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CheckOutCheckInService getCheckOutCheckInService();
|
||||
|
||||
/**
|
||||
* @return the category service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
CategoryService getCategoryService();
|
||||
|
||||
/**
|
||||
* @return the importer service or null if not present
|
||||
*/
|
||||
@NotAuditable
|
||||
ImporterService getImporterService();
|
||||
|
||||
/**
|
||||
* @return the exporter service or null if not present
|
||||
*/
|
||||
@NotAuditable
|
||||
ExporterService getExporterService();
|
||||
|
||||
/**
|
||||
* @return the rule service (or null, if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
RuleService getRuleService();
|
||||
|
||||
/**
|
||||
* @return the action service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ActionService getActionService();
|
||||
|
||||
/**
|
||||
* @return the permission service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
PermissionService getPermissionService();
|
||||
|
||||
/**
|
||||
* @return the authority service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
AuthorityService getAuthorityService();
|
||||
|
||||
/**
|
||||
* @return the template service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
TemplateService getTemplateService();
|
||||
|
||||
/**
|
||||
* @return the file-folder manipulation service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
FileFolderService getFileFolderService();
|
||||
|
||||
/**
|
||||
* @return the script execution service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
ScriptService getScriptService();
|
||||
|
||||
/**
|
||||
* @return the workflow service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
WorkflowService getWorkflowService();
|
||||
|
||||
/**
|
||||
* @return the audit service (or null if one is not provided)
|
||||
*/
|
||||
@NotAuditable
|
||||
AuditService getAuditService();
|
||||
|
||||
/**
|
||||
* Get the AVMService.
|
||||
* @return The AVM service (or null if one is not provided);
|
||||
*/
|
||||
@NotAuditable
|
||||
AVMService getAVMService();
|
||||
}
|
||||
|
202
source/java/org/alfresco/service/cmr/audit/AuditInfo.java
Normal file
202
source/java/org/alfresco/service/cmr/audit/AuditInfo.java
Normal file
@@ -0,0 +1,202 @@
|
||||
/*
|
||||
* Copyright (C) 2005 Alfresco, Inc.
|
||||
*
|
||||
* Licensed under the Mozilla Public License version 1.1
|
||||
* with a permitted attribution clause. You may obtain a
|
||||
* copy of the License at
|
||||
*
|
||||
* http://www.alfresco.org/legal/license.txt
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
* either express or implied. See the License for the specific
|
||||
* language governing permissions and limitations under the
|
||||
* License.
|
||||
*/
|
||||
package org.alfresco.service.cmr.audit;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.net.InetAddress;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
|
||||
/**
|
||||
* A single entry in an audit trail
|
||||
*
|
||||
* @author Andy Hind
|
||||
*/
|
||||
public interface AuditInfo
|
||||
{
|
||||
/**
|
||||
* The identifier for the application that performed the audit. Method interceptors around public services will use the string 'SystemMethodInterceptor'.
|
||||
*
|
||||
* @return - the application (may not be null).
|
||||
*/
|
||||
public String getAuditApplication();
|
||||
|
||||
/**
|
||||
* The name of the method executed on a public service.
|
||||
*
|
||||
* @return - the method name - this may be null for external audit entries.
|
||||
*/
|
||||
public String getAuditMethod();
|
||||
|
||||
/**
|
||||
* The public service on which a method was invoked.
|
||||
*
|
||||
* @return - the service name - this may be null for external audit entries.
|
||||
*/
|
||||
public String getAuditService();
|
||||
|
||||
/**
|
||||
* The address for the client. (This will be null in version 1.4)
|
||||
*
|
||||
* @return - the client address - may be null.
|
||||
*/
|
||||
public String getClientAddress();
|
||||
|
||||
/**
|
||||
* The timestamp for the audit entry.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Date getDate();
|
||||
|
||||
/**
|
||||
* Is this entry recording an error?
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isFail();
|
||||
|
||||
/**
|
||||
* Was this audit entry subject to filtering (which must have been met if an entry is found). Filters are not applied in version 1.4.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isFiltered();
|
||||
|
||||
/**
|
||||
* Get the host address of the server machine.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getHostAddress();
|
||||
|
||||
/**
|
||||
* Get the ID of the key node.
|
||||
*
|
||||
* @return - the id of the key node - this may be null if there is no key or the key is not a node ref.
|
||||
*/
|
||||
public String getKeyGUID();
|
||||
|
||||
/**
|
||||
* The serialized properties on the key node, if one exists, after the method invocation. Note these values are serialized before the method is called so they are unaffected by
|
||||
* the method invocation. In V1.4 these are not stored.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<QName, Serializable> getKeyPropertiesAfter();
|
||||
|
||||
/**
|
||||
* The serialized properties on the key node, if one exists, before the method invocation. In V1.4 these are not stored.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<QName, Serializable> getKeyPropertiesBefore();
|
||||
|
||||
/**
|
||||
* The store ref for the key.
|
||||
*
|
||||
* @return - the store ref - this may be null if there is no key.
|
||||
*/
|
||||
public StoreRef getKeyStore();
|
||||
|
||||
/**
|
||||
* The message entered for application audit entries.
|
||||
*
|
||||
* @return - the audit message. This may be null, and will be null for audit entries generated from method invocations.
|
||||
*/
|
||||
public String getMessage();
|
||||
|
||||
/**
|
||||
* Get the serailized mehod arguments.
|
||||
*
|
||||
* These are not stored in V1.4.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Serializable[] getMethodArguments();
|
||||
|
||||
/**
|
||||
* Get the method arguments as strings.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String[] getMethodArgumentsAsStrings();
|
||||
|
||||
/**
|
||||
* Get the path to the key node, if one exists.
|
||||
*
|
||||
* @return - the path or null.
|
||||
*/
|
||||
public String getPath();
|
||||
|
||||
/**
|
||||
* The serialized value of the return object.
|
||||
*
|
||||
* This is not available in V1.4.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Serializable getReturnObject();
|
||||
|
||||
/**
|
||||
* Get the return object string value.
|
||||
*
|
||||
* @return - the string value of the return object. May be null if the method is of type void or returns null.
|
||||
*/
|
||||
public String getReturnObjectAsString();
|
||||
|
||||
/**
|
||||
* Get the session id.
|
||||
*
|
||||
* This is not stored in V1.4.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getSessionId();
|
||||
|
||||
/**
|
||||
* Get the deserialized error, if one occurred.
|
||||
*
|
||||
* @return the throwable or null.
|
||||
*/
|
||||
public Throwable getThrowable();
|
||||
|
||||
/**
|
||||
* In 1.4, get the error message (no stack trace).
|
||||
*
|
||||
* @return - the error message
|
||||
*/
|
||||
public String getThrowableAsString();
|
||||
|
||||
/**
|
||||
* Get the transaction id which caused the audit.
|
||||
*
|
||||
* @return the Tx id (not null).
|
||||
*/
|
||||
public String getTxId();
|
||||
|
||||
/**
|
||||
* Get the name of the user who caused the audit entry.
|
||||
*
|
||||
* @return - the user name / user authority (not null)
|
||||
*/
|
||||
public String getUserIdentifier();
|
||||
|
||||
}
|
@@ -16,6 +16,9 @@
|
||||
*/
|
||||
package org.alfresco.service.cmr.audit;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.audit.AuditState;
|
||||
import org.alfresco.service.NotAuditable;
|
||||
import org.alfresco.service.PublicService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
@@ -81,5 +84,14 @@ public interface AuditService
|
||||
*/
|
||||
@NotAuditable
|
||||
public void audit(String source, String description, NodeRef key, Object... args);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get the audit trail for a node ref.
|
||||
*
|
||||
* @param nodeRef - the node ref for which to get the audit trail.
|
||||
* @return - tha audit trail
|
||||
*/
|
||||
@NotAuditable
|
||||
public List<AuditInfo> getAuditTrail(NodeRef nodeRef);
|
||||
}
|
||||
|
@@ -59,6 +59,11 @@ public interface CopyService
|
||||
* not copied.
|
||||
* <p>
|
||||
* Source association are not copied.
|
||||
* <p>
|
||||
* <b>NOTE:</b> The top-level node has it's <b>cm:name</b> property removed for
|
||||
* associations that do not allow duplicately named children in order
|
||||
* to prevent any chance of a duplicate name clash. Reassign the
|
||||
* <b>cm:name</b> property and catch the {@link DuplicateChildNodeNameException}.
|
||||
*
|
||||
* @param sourceNodeRef the node reference used as the source of the copy
|
||||
* @param destinationParent the intended parent of the new node
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,7 @@ import org.alfresco.repo.template.NodeSearchResultsMap;
|
||||
import org.alfresco.repo.template.SavedSearchResultsMap;
|
||||
import org.alfresco.repo.template.XPathResultsMap;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.audit.AuditInfo;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.cmr.lock.LockStatus;
|
||||
import org.alfresco.service.cmr.security.AccessPermission;
|
||||
@@ -495,7 +496,7 @@ public final class TemplateNode implements Serializable
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Display path to this node
|
||||
* @return Display path to this node - the path built of 'cm:name' attribute values.
|
||||
*/
|
||||
public String getDisplayPath()
|
||||
{
|
||||
@@ -514,6 +515,14 @@ public final class TemplateNode implements Serializable
|
||||
return displayPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return QName path to this node. This can be used for Lucene PATH: style queries
|
||||
*/
|
||||
public String getQnamePath()
|
||||
{
|
||||
return this.services.getNodeService().getPath(this.nodeRef).toPrefixString(this.services.getNamespaceService());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the small icon image for this node
|
||||
*/
|
||||
@@ -652,6 +661,14 @@ public final class TemplateNode implements Serializable
|
||||
}
|
||||
|
||||
|
||||
// Audit API
|
||||
|
||||
|
||||
public List<AuditInfo> getAuditTrail()
|
||||
{
|
||||
return this.services.getAuditService().getAuditTrail(this.nodeRef);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Misc helpers
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.service.Auditable;
|
||||
import org.alfresco.service.NotAuditable;
|
||||
import org.alfresco.service.PublicService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -171,7 +172,7 @@ public interface PersonService
|
||||
* @param caseSensitiveUserName
|
||||
* @return
|
||||
*/
|
||||
|
||||
@NotAuditable
|
||||
public String getUserIdentifier(String caseSensitiveUserName);
|
||||
|
||||
}
|
||||
|
@@ -111,6 +111,7 @@ public interface WorkflowService
|
||||
* @param workflowName workflow name e.g. jbpm://review
|
||||
* @return the deployed workflow definition
|
||||
*/
|
||||
@Auditable(parameters = {"workflowName"})
|
||||
public WorkflowDefinition getDefinitionByName(String workflowName);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user