
com.liferay.search.experiences.service.base.SXPElementLocalServiceBaseImpl Maven / Gradle / Ivy
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.search.experiences.service.base;
import com.liferay.exportimport.kernel.lar.ExportImportHelperUtil;
import com.liferay.exportimport.kernel.lar.ManifestSummary;
import com.liferay.exportimport.kernel.lar.PortletDataContext;
import com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil;
import com.liferay.exportimport.kernel.lar.StagedModelType;
import com.liferay.petra.sql.dsl.query.DSLQuery;
import com.liferay.portal.aop.AopService;
import com.liferay.portal.kernel.dao.db.DB;
import com.liferay.portal.kernel.dao.db.DBManagerUtil;
import com.liferay.portal.kernel.dao.jdbc.CurrentConnectionUtil;
import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.DefaultActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
import com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.Projection;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.model.PersistedModel;
import com.liferay.portal.kernel.module.framework.service.IdentifiableOSGiService;
import com.liferay.portal.kernel.search.Indexable;
import com.liferay.portal.kernel.search.IndexableType;
import com.liferay.portal.kernel.service.BaseLocalServiceImpl;
import com.liferay.portal.kernel.service.PersistedModelLocalService;
import com.liferay.portal.kernel.service.persistence.BasePersistence;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.kernel.util.OrderByComparator;
import com.liferay.portal.kernel.util.PortalUtil;
import com.liferay.search.experiences.model.SXPElement;
import com.liferay.search.experiences.service.SXPElementLocalService;
import com.liferay.search.experiences.service.persistence.SXPElementPersistence;
import java.io.Serializable;
import java.sql.Connection;
import java.util.List;
import javax.sql.DataSource;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
/**
* Provides the base implementation for the sxp element local service.
*
*
* This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link com.liferay.search.experiences.service.impl.SXPElementLocalServiceImpl}.
*
*
* @author Brian Wing Shun Chan
* @see com.liferay.search.experiences.service.impl.SXPElementLocalServiceImpl
* @generated
*/
public abstract class SXPElementLocalServiceBaseImpl
extends BaseLocalServiceImpl
implements AopService, IdentifiableOSGiService, SXPElementLocalService {
/*
* NOTE FOR DEVELOPERS:
*
* Never modify or reference this class directly. Use SXPElementLocalService
via injection or a org.osgi.util.tracker.ServiceTracker
or use com.liferay.search.experiences.service.SXPElementLocalServiceUtil
.
*/
/**
* Adds the sxp element to the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect SXPElementLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.
*
*
* @param sxpElement the sxp element
* @return the sxp element that was added
*/
@Indexable(type = IndexableType.REINDEX)
@Override
public SXPElement addSXPElement(SXPElement sxpElement) {
sxpElement.setNew(true);
return sxpElementPersistence.update(sxpElement);
}
/**
* Creates a new sxp element with the primary key. Does not add the sxp element to the database.
*
* @param sxpElementId the primary key for the new sxp element
* @return the new sxp element
*/
@Override
@Transactional(enabled = false)
public SXPElement createSXPElement(long sxpElementId) {
return sxpElementPersistence.create(sxpElementId);
}
/**
* Deletes the sxp element with the primary key from the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect SXPElementLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.
*
*
* @param sxpElementId the primary key of the sxp element
* @return the sxp element that was removed
* @throws PortalException if a sxp element with the primary key could not be found
*/
@Indexable(type = IndexableType.DELETE)
@Override
public SXPElement deleteSXPElement(long sxpElementId)
throws PortalException {
return sxpElementPersistence.remove(sxpElementId);
}
/**
* Deletes the sxp element from the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect SXPElementLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.
*
*
* @param sxpElement the sxp element
* @return the sxp element that was removed
* @throws PortalException
*/
@Indexable(type = IndexableType.DELETE)
@Override
public SXPElement deleteSXPElement(SXPElement sxpElement)
throws PortalException {
return sxpElementPersistence.remove(sxpElement);
}
@Override
public T dslQuery(DSLQuery dslQuery) {
return sxpElementPersistence.dslQuery(dslQuery);
}
@Override
public int dslQueryCount(DSLQuery dslQuery) {
Long count = dslQuery(dslQuery);
return count.intValue();
}
@Override
public DynamicQuery dynamicQuery() {
Class> clazz = getClass();
return DynamicQueryFactoryUtil.forClass(
SXPElement.class, clazz.getClassLoader());
}
/**
* Performs a dynamic query on the database and returns the matching rows.
*
* @param dynamicQuery the dynamic query
* @return the matching rows
*/
@Override
public List dynamicQuery(DynamicQuery dynamicQuery) {
return sxpElementPersistence.findWithDynamicQuery(dynamicQuery);
}
/**
* Performs a dynamic query on the database and returns a range of the matching rows.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent, then the query will include the default ORDER BY logic from com.liferay.search.experiences.model.impl.SXPElementModelImpl
.
*
*
* @param dynamicQuery the dynamic query
* @param start the lower bound of the range of model instances
* @param end the upper bound of the range of model instances (not inclusive)
* @return the range of matching rows
*/
@Override
public List dynamicQuery(
DynamicQuery dynamicQuery, int start, int end) {
return sxpElementPersistence.findWithDynamicQuery(
dynamicQuery, start, end);
}
/**
* Performs a dynamic query on the database and returns an ordered range of the matching rows.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent, then the query will include the default ORDER BY logic from com.liferay.search.experiences.model.impl.SXPElementModelImpl
.
*
*
* @param dynamicQuery the dynamic query
* @param start the lower bound of the range of model instances
* @param end the upper bound of the range of model instances (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching rows
*/
@Override
public List dynamicQuery(
DynamicQuery dynamicQuery, int start, int end,
OrderByComparator orderByComparator) {
return sxpElementPersistence.findWithDynamicQuery(
dynamicQuery, start, end, orderByComparator);
}
/**
* Returns the number of rows matching the dynamic query.
*
* @param dynamicQuery the dynamic query
* @return the number of rows matching the dynamic query
*/
@Override
public long dynamicQueryCount(DynamicQuery dynamicQuery) {
return sxpElementPersistence.countWithDynamicQuery(dynamicQuery);
}
/**
* Returns the number of rows matching the dynamic query.
*
* @param dynamicQuery the dynamic query
* @param projection the projection to apply to the query
* @return the number of rows matching the dynamic query
*/
@Override
public long dynamicQueryCount(
DynamicQuery dynamicQuery, Projection projection) {
return sxpElementPersistence.countWithDynamicQuery(
dynamicQuery, projection);
}
@Override
public SXPElement fetchSXPElement(long sxpElementId) {
return sxpElementPersistence.fetchByPrimaryKey(sxpElementId);
}
/**
* Returns the sxp element with the matching UUID and company.
*
* @param uuid the sxp element's UUID
* @param companyId the primary key of the company
* @return the matching sxp element, or null
if a matching sxp element could not be found
*/
@Override
public SXPElement fetchSXPElementByUuidAndCompanyId(
String uuid, long companyId) {
return sxpElementPersistence.fetchByUuid_C_First(uuid, companyId, null);
}
@Override
public SXPElement fetchSXPElementByExternalReferenceCode(
String externalReferenceCode, long companyId) {
return sxpElementPersistence.fetchByERC_C(
externalReferenceCode, companyId);
}
@Override
public SXPElement getSXPElementByExternalReferenceCode(
String externalReferenceCode, long companyId)
throws PortalException {
return sxpElementPersistence.findByERC_C(
externalReferenceCode, companyId);
}
/**
* Returns the sxp element with the primary key.
*
* @param sxpElementId the primary key of the sxp element
* @return the sxp element
* @throws PortalException if a sxp element with the primary key could not be found
*/
@Override
public SXPElement getSXPElement(long sxpElementId) throws PortalException {
return sxpElementPersistence.findByPrimaryKey(sxpElementId);
}
@Override
public ActionableDynamicQuery getActionableDynamicQuery() {
ActionableDynamicQuery actionableDynamicQuery =
new DefaultActionableDynamicQuery();
actionableDynamicQuery.setBaseLocalService(sxpElementLocalService);
actionableDynamicQuery.setClassLoader(getClassLoader());
actionableDynamicQuery.setModelClass(SXPElement.class);
actionableDynamicQuery.setPrimaryKeyPropertyName("sxpElementId");
return actionableDynamicQuery;
}
@Override
public IndexableActionableDynamicQuery
getIndexableActionableDynamicQuery() {
IndexableActionableDynamicQuery indexableActionableDynamicQuery =
new IndexableActionableDynamicQuery();
indexableActionableDynamicQuery.setBaseLocalService(
sxpElementLocalService);
indexableActionableDynamicQuery.setClassLoader(getClassLoader());
indexableActionableDynamicQuery.setModelClass(SXPElement.class);
indexableActionableDynamicQuery.setPrimaryKeyPropertyName(
"sxpElementId");
return indexableActionableDynamicQuery;
}
protected void initActionableDynamicQuery(
ActionableDynamicQuery actionableDynamicQuery) {
actionableDynamicQuery.setBaseLocalService(sxpElementLocalService);
actionableDynamicQuery.setClassLoader(getClassLoader());
actionableDynamicQuery.setModelClass(SXPElement.class);
actionableDynamicQuery.setPrimaryKeyPropertyName("sxpElementId");
}
@Override
public ExportActionableDynamicQuery getExportActionableDynamicQuery(
final PortletDataContext portletDataContext) {
final ExportActionableDynamicQuery exportActionableDynamicQuery =
new ExportActionableDynamicQuery() {
@Override
public long performCount() throws PortalException {
ManifestSummary manifestSummary =
portletDataContext.getManifestSummary();
StagedModelType stagedModelType = getStagedModelType();
long modelAdditionCount = super.performCount();
manifestSummary.addModelAdditionCount(
stagedModelType, modelAdditionCount);
long modelDeletionCount =
ExportImportHelperUtil.getModelDeletionCount(
portletDataContext, stagedModelType);
manifestSummary.addModelDeletionCount(
stagedModelType, modelDeletionCount);
return modelAdditionCount;
}
};
initActionableDynamicQuery(exportActionableDynamicQuery);
exportActionableDynamicQuery.setAddCriteriaMethod(
new ActionableDynamicQuery.AddCriteriaMethod() {
@Override
public void addCriteria(DynamicQuery dynamicQuery) {
portletDataContext.addDateRangeCriteria(
dynamicQuery, "modifiedDate");
}
});
exportActionableDynamicQuery.setCompanyId(
portletDataContext.getCompanyId());
exportActionableDynamicQuery.setPerformActionMethod(
new ActionableDynamicQuery.PerformActionMethod() {
@Override
public void performAction(SXPElement sxpElement)
throws PortalException {
StagedModelDataHandlerUtil.exportStagedModel(
portletDataContext, sxpElement);
}
});
exportActionableDynamicQuery.setStagedModelType(
new StagedModelType(
PortalUtil.getClassNameId(SXPElement.class.getName())));
return exportActionableDynamicQuery;
}
/**
* @throws PortalException
*/
@Override
public PersistedModel createPersistedModel(Serializable primaryKeyObj)
throws PortalException {
return sxpElementPersistence.create(((Long)primaryKeyObj).longValue());
}
/**
* @throws PortalException
*/
@Override
public PersistedModel deletePersistedModel(PersistedModel persistedModel)
throws PortalException {
if (_log.isWarnEnabled()) {
_log.warn(
"Implement SXPElementLocalServiceImpl#deleteSXPElement(SXPElement) to avoid orphaned data");
}
return sxpElementLocalService.deleteSXPElement(
(SXPElement)persistedModel);
}
@Override
public BasePersistence getBasePersistence() {
return sxpElementPersistence;
}
/**
* @throws PortalException
*/
@Override
public PersistedModel getPersistedModel(Serializable primaryKeyObj)
throws PortalException {
return sxpElementPersistence.findByPrimaryKey(primaryKeyObj);
}
/**
* Returns the sxp element with the matching UUID and company.
*
* @param uuid the sxp element's UUID
* @param companyId the primary key of the company
* @return the matching sxp element
* @throws PortalException if a matching sxp element could not be found
*/
@Override
public SXPElement getSXPElementByUuidAndCompanyId(
String uuid, long companyId)
throws PortalException {
return sxpElementPersistence.findByUuid_C_First(uuid, companyId, null);
}
/**
* Returns a range of all the sxp elements.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS
will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent, then the query will include the default ORDER BY logic from com.liferay.search.experiences.model.impl.SXPElementModelImpl
.
*
*
* @param start the lower bound of the range of sxp elements
* @param end the upper bound of the range of sxp elements (not inclusive)
* @return the range of sxp elements
*/
@Override
public List getSXPElements(int start, int end) {
return sxpElementPersistence.findAll(start, end);
}
/**
* Returns the number of sxp elements.
*
* @return the number of sxp elements
*/
@Override
public int getSXPElementsCount() {
return sxpElementPersistence.countAll();
}
/**
* Updates the sxp element in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
*
*
* Important: Inspect SXPElementLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.
*
*
* @param sxpElement the sxp element
* @return the sxp element that was updated
*/
@Indexable(type = IndexableType.REINDEX)
@Override
public SXPElement updateSXPElement(SXPElement sxpElement) {
return sxpElementPersistence.update(sxpElement);
}
@Deactivate
protected void deactivate() {
}
@Override
public Class>[] getAopInterfaces() {
return new Class>[] {
SXPElementLocalService.class, IdentifiableOSGiService.class,
PersistedModelLocalService.class
};
}
@Override
public void setAopProxy(Object aopProxy) {
sxpElementLocalService = (SXPElementLocalService)aopProxy;
}
/**
* Returns the OSGi service identifier.
*
* @return the OSGi service identifier
*/
@Override
public String getOSGiServiceIdentifier() {
return SXPElementLocalService.class.getName();
}
protected Class> getModelClass() {
return SXPElement.class;
}
protected String getModelClassName() {
return SXPElement.class.getName();
}
/**
* Performs a SQL query.
*
* @param sql the sql query
*/
protected void runSQL(String sql) {
DataSource dataSource = sxpElementPersistence.getDataSource();
DB db = DBManagerUtil.getDB();
Connection currentConnection = CurrentConnectionUtil.getConnection(
dataSource);
try {
if (currentConnection != null) {
db.runSQL(currentConnection, new String[] {sql});
return;
}
try (Connection connection = dataSource.getConnection()) {
db.runSQL(connection, new String[] {sql});
}
}
catch (Exception exception) {
throw new SystemException(exception);
}
}
protected SXPElementLocalService sxpElementLocalService;
@Reference
protected SXPElementPersistence sxpElementPersistence;
@Reference
protected com.liferay.counter.kernel.service.CounterLocalService
counterLocalService;
private static final Log _log = LogFactoryUtil.getLog(
SXPElementLocalServiceBaseImpl.class);
}