/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library 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 Lesser General Public License for more * details. */ package com.liferay.portal.repository.portletrepository; import com.liferay.portal.kernel.bean.BeanReference; import com.liferay.portal.kernel.repository.DocumentRepository; import com.liferay.portal.kernel.repository.RepositoryFactory; import com.liferay.portal.kernel.repository.capabilities.PortalCapabilityLocator; import com.liferay.portal.kernel.repository.capabilities.ProcessorCapability; import com.liferay.portal.kernel.repository.capabilities.RelatedModelCapability; import com.liferay.portal.kernel.repository.capabilities.TrashCapability; import com.liferay.portal.kernel.repository.capabilities.WorkflowCapability; import com.liferay.portal.kernel.repository.registry.BaseRepositoryDefiner; import com.liferay.portal.kernel.repository.registry.CapabilityRegistry; import com.liferay.portal.kernel.repository.registry.RepositoryFactoryRegistry; /** * @author Adolfo PĂ©rez */ public class PortletRepositoryDefiner extends BaseRepositoryDefiner { @Override public String getClassName() { return PortletRepository.class.getName(); } @Override public boolean isExternalRepository() { return false; } @Override public void registerCapabilities( CapabilityRegistry<DocumentRepository> capabilityRegistry) { DocumentRepository documentRepository = capabilityRegistry.getTarget(); capabilityRegistry.addExportedCapability( RelatedModelCapability.class, portalCapabilityLocator.getRelatedModelCapability( documentRepository)); capabilityRegistry.addExportedCapability( TrashCapability.class, portalCapabilityLocator.getTrashCapability(documentRepository)); capabilityRegistry.addExportedCapability( WorkflowCapability.class, portalCapabilityLocator.getWorkflowCapability( documentRepository, WorkflowCapability.OperationMode.MINIMAL)); capabilityRegistry.addSupportedCapability( ProcessorCapability.class, portalCapabilityLocator.getProcessorCapability(documentRepository)); } @Override public void registerRepositoryFactory( RepositoryFactoryRegistry repositoryFactoryRegistry) { repositoryFactoryRegistry.setRepositoryFactory(_repositoryFactory); } public void setRepositoryFactory(RepositoryFactory repositoryFactory) { _repositoryFactory = repositoryFactory; } @BeanReference(type = PortalCapabilityLocator.class) protected PortalCapabilityLocator portalCapabilityLocator; private RepositoryFactory _repositoryFactory; }