001
014
015 package com.liferay.portal.repository.portletrepository;
016
017 import com.liferay.portal.kernel.repository.DocumentRepository;
018 import com.liferay.portal.kernel.repository.RepositoryFactory;
019 import com.liferay.portal.kernel.repository.capabilities.ProcessorCapability;
020 import com.liferay.portal.kernel.repository.capabilities.RelatedModelCapability;
021 import com.liferay.portal.kernel.repository.capabilities.TrashCapability;
022 import com.liferay.portal.kernel.repository.capabilities.WorkflowCapability;
023 import com.liferay.portal.kernel.repository.registry.BaseRepositoryDefiner;
024 import com.liferay.portal.kernel.repository.registry.CapabilityRegistry;
025 import com.liferay.portal.kernel.repository.registry.RepositoryFactoryRegistry;
026 import com.liferay.portal.repository.capabilities.LiferayProcessorCapability;
027 import com.liferay.portal.repository.capabilities.LiferayRelatedModelCapability;
028 import com.liferay.portal.repository.capabilities.LiferayTrashCapability;
029 import com.liferay.portal.repository.capabilities.MinimalWorkflowCapability;
030 import com.liferay.portal.repository.capabilities.util.DLAppServiceAdapter;
031 import com.liferay.portal.repository.capabilities.util.DLFileEntryServiceAdapter;
032 import com.liferay.portal.repository.capabilities.util.DLFolderServiceAdapter;
033 import com.liferay.portal.repository.capabilities.util.RepositoryEntryChecker;
034 import com.liferay.portal.repository.capabilities.util.RepositoryEntryConverter;
035 import com.liferay.portal.repository.capabilities.util.RepositoryServiceAdapter;
036 import com.liferay.portlet.documentlibrary.service.DLAppHelperLocalServiceUtil;
037 import com.liferay.portlet.trash.service.TrashEntryLocalServiceUtil;
038 import com.liferay.portlet.trash.service.TrashVersionLocalServiceUtil;
039
040
043 public class PortletRepositoryDefiner extends BaseRepositoryDefiner {
044
045 @Override
046 public String getClassName() {
047 return PortletRepository.class.getName();
048 }
049
050 @Override
051 public boolean isExternalRepository() {
052 return false;
053 }
054
055 @Override
056 public void registerCapabilities(
057 CapabilityRegistry<DocumentRepository> capabilityRegistry) {
058
059 DocumentRepository documentRepository = capabilityRegistry.getTarget();
060
061 DLFileEntryServiceAdapter dlFileEntryServiceAdapter =
062 DLFileEntryServiceAdapter.create(documentRepository);
063
064 capabilityRegistry.addExportedCapability(
065 RelatedModelCapability.class,
066 new LiferayRelatedModelCapability(
067 new RepositoryEntryConverter(),
068 new RepositoryEntryChecker(documentRepository)));
069
070 TrashCapability trashCapability = new LiferayTrashCapability(
071 DLAppHelperLocalServiceUtil.getService(),
072 DLAppServiceAdapter.create(documentRepository),
073 dlFileEntryServiceAdapter,
074 DLFolderServiceAdapter.create(documentRepository),
075 RepositoryServiceAdapter.create(documentRepository),
076 TrashEntryLocalServiceUtil.getService(),
077 TrashVersionLocalServiceUtil.getService());
078
079 capabilityRegistry.addExportedCapability(
080 TrashCapability.class, trashCapability);
081
082 capabilityRegistry.addExportedCapability(
083 WorkflowCapability.class,
084 new MinimalWorkflowCapability(dlFileEntryServiceAdapter));
085
086 capabilityRegistry.addSupportedCapability(
087 ProcessorCapability.class, new LiferayProcessorCapability());
088 }
089
090 @Override
091 public void registerRepositoryFactory(
092 RepositoryFactoryRegistry repositoryFactoryRegistry) {
093
094 repositoryFactoryRegistry.setRepositoryFactory(_repositoryFactory);
095 }
096
097 public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
098 _repositoryFactory = repositoryFactory;
099 }
100
101 private RepositoryFactory _repositoryFactory;
102
103 }