
com.liferay.commerce.product.service.base.CPDefinitionLocalServiceBaseImpl 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.commerce.product.service.base;
import com.liferay.commerce.product.model.CPDefinition;
import com.liferay.commerce.product.model.CPDefinitionLocalization;
import com.liferay.commerce.product.service.CPDefinitionLocalService;
import com.liferay.commerce.product.service.persistence.CPDefinitionFinder;
import com.liferay.commerce.product.service.persistence.CPDefinitionLocalizationPersistence;
import com.liferay.commerce.product.service.persistence.CPDefinitionPersistence;
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.StagedModelDataHandler;
import com.liferay.exportimport.kernel.lar.StagedModelDataHandlerRegistryUtil;
import com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil;
import com.liferay.exportimport.kernel.lar.StagedModelType;
import com.liferay.petra.function.UnsafeFunction;
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.SqlUpdate;
import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil;
import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.Conjunction;
import com.liferay.portal.kernel.dao.orm.Criterion;
import com.liferay.portal.kernel.dao.orm.DefaultActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.Disjunction;
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.dao.orm.Property;
import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
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.change.tracking.CTService;
import com.liferay.portal.kernel.service.persistence.BasePersistence;
import com.liferay.portal.kernel.service.persistence.change.tracking.CTPersistence;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.kernel.util.OrderByComparator;
import com.liferay.portal.kernel.util.PortalUtil;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
/**
* Provides the base implementation for the cp definition 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.commerce.product.service.impl.CPDefinitionLocalServiceImpl}.
*
*
* @author Marco Leo
* @see com.liferay.commerce.product.service.impl.CPDefinitionLocalServiceImpl
* @generated
*/
public abstract class CPDefinitionLocalServiceBaseImpl
extends BaseLocalServiceImpl
implements AopService, CPDefinitionLocalService, IdentifiableOSGiService {
/*
* NOTE FOR DEVELOPERS:
*
* Never modify or reference this class directly. Use CPDefinitionLocalService
via injection or a org.osgi.util.tracker.ServiceTracker
or use com.liferay.commerce.product.service.CPDefinitionLocalServiceUtil
.
*/
/**
* Adds the cp definition to the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect CPDefinitionLocalServiceImpl 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 cpDefinition the cp definition
* @return the cp definition that was added
*/
@Indexable(type = IndexableType.REINDEX)
@Override
public CPDefinition addCPDefinition(CPDefinition cpDefinition) {
cpDefinition.setNew(true);
return cpDefinitionPersistence.update(cpDefinition);
}
/**
* Creates a new cp definition with the primary key. Does not add the cp definition to the database.
*
* @param CPDefinitionId the primary key for the new cp definition
* @return the new cp definition
*/
@Override
@Transactional(enabled = false)
public CPDefinition createCPDefinition(long CPDefinitionId) {
return cpDefinitionPersistence.create(CPDefinitionId);
}
/**
* Deletes the cp definition with the primary key from the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect CPDefinitionLocalServiceImpl 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 CPDefinitionId the primary key of the cp definition
* @return the cp definition that was removed
* @throws PortalException if a cp definition with the primary key could not be found
*/
@Indexable(type = IndexableType.DELETE)
@Override
public CPDefinition deleteCPDefinition(long CPDefinitionId)
throws PortalException {
return cpDefinitionPersistence.remove(CPDefinitionId);
}
/**
* Deletes the cp definition from the database. Also notifies the appropriate model listeners.
*
*
* Important: Inspect CPDefinitionLocalServiceImpl 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 cpDefinition the cp definition
* @return the cp definition that was removed
* @throws PortalException
*/
@Indexable(type = IndexableType.DELETE)
@Override
public CPDefinition deleteCPDefinition(CPDefinition cpDefinition)
throws PortalException {
return cpDefinitionPersistence.remove(cpDefinition);
}
@Override
public T dslQuery(DSLQuery dslQuery) {
return cpDefinitionPersistence.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(
CPDefinition.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 cpDefinitionPersistence.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.commerce.product.model.impl.CPDefinitionModelImpl
.
*
*
* @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 cpDefinitionPersistence.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.commerce.product.model.impl.CPDefinitionModelImpl
.
*
*
* @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 cpDefinitionPersistence.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 cpDefinitionPersistence.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 cpDefinitionPersistence.countWithDynamicQuery(
dynamicQuery, projection);
}
@Override
public CPDefinition fetchCPDefinition(long CPDefinitionId) {
return cpDefinitionPersistence.fetchByPrimaryKey(CPDefinitionId);
}
/**
* Returns the cp definition matching the UUID and group.
*
* @param uuid the cp definition's UUID
* @param groupId the primary key of the group
* @return the matching cp definition, or null
if a matching cp definition could not be found
*/
@Override
public CPDefinition fetchCPDefinitionByUuidAndGroupId(
String uuid, long groupId) {
return cpDefinitionPersistence.fetchByUUID_G(uuid, groupId);
}
/**
* Returns the cp definition with the primary key.
*
* @param CPDefinitionId the primary key of the cp definition
* @return the cp definition
* @throws PortalException if a cp definition with the primary key could not be found
*/
@Override
public CPDefinition getCPDefinition(long CPDefinitionId)
throws PortalException {
return cpDefinitionPersistence.findByPrimaryKey(CPDefinitionId);
}
@Override
public ActionableDynamicQuery getActionableDynamicQuery() {
ActionableDynamicQuery actionableDynamicQuery =
new DefaultActionableDynamicQuery();
actionableDynamicQuery.setBaseLocalService(cpDefinitionLocalService);
actionableDynamicQuery.setClassLoader(getClassLoader());
actionableDynamicQuery.setModelClass(CPDefinition.class);
actionableDynamicQuery.setPrimaryKeyPropertyName("CPDefinitionId");
return actionableDynamicQuery;
}
@Override
public IndexableActionableDynamicQuery
getIndexableActionableDynamicQuery() {
IndexableActionableDynamicQuery indexableActionableDynamicQuery =
new IndexableActionableDynamicQuery();
indexableActionableDynamicQuery.setBaseLocalService(
cpDefinitionLocalService);
indexableActionableDynamicQuery.setClassLoader(getClassLoader());
indexableActionableDynamicQuery.setModelClass(CPDefinition.class);
indexableActionableDynamicQuery.setPrimaryKeyPropertyName(
"CPDefinitionId");
return indexableActionableDynamicQuery;
}
protected void initActionableDynamicQuery(
ActionableDynamicQuery actionableDynamicQuery) {
actionableDynamicQuery.setBaseLocalService(cpDefinitionLocalService);
actionableDynamicQuery.setClassLoader(getClassLoader());
actionableDynamicQuery.setModelClass(CPDefinition.class);
actionableDynamicQuery.setPrimaryKeyPropertyName("CPDefinitionId");
}
@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) {
Criterion modifiedDateCriterion =
portletDataContext.getDateRangeCriteria("modifiedDate");
if (modifiedDateCriterion != null) {
Conjunction conjunction =
RestrictionsFactoryUtil.conjunction();
conjunction.add(modifiedDateCriterion);
Disjunction disjunction =
RestrictionsFactoryUtil.disjunction();
disjunction.add(
RestrictionsFactoryUtil.gtProperty(
"modifiedDate", "lastPublishDate"));
Property lastPublishDateProperty =
PropertyFactoryUtil.forName("lastPublishDate");
disjunction.add(lastPublishDateProperty.isNull());
conjunction.add(disjunction);
modifiedDateCriterion = conjunction;
}
Criterion statusDateCriterion =
portletDataContext.getDateRangeCriteria("statusDate");
if ((modifiedDateCriterion != null) &&
(statusDateCriterion != null)) {
Disjunction disjunction =
RestrictionsFactoryUtil.disjunction();
disjunction.add(modifiedDateCriterion);
disjunction.add(statusDateCriterion);
dynamicQuery.add(disjunction);
}
Property workflowStatusProperty =
PropertyFactoryUtil.forName("status");
if (portletDataContext.isInitialPublication()) {
dynamicQuery.add(
workflowStatusProperty.ne(
WorkflowConstants.STATUS_IN_TRASH));
}
else {
StagedModelDataHandler> stagedModelDataHandler =
StagedModelDataHandlerRegistryUtil.
getStagedModelDataHandler(
CPDefinition.class.getName());
dynamicQuery.add(
workflowStatusProperty.in(
stagedModelDataHandler.
getExportableStatuses()));
}
}
});
exportActionableDynamicQuery.setCompanyId(
portletDataContext.getCompanyId());
exportActionableDynamicQuery.setGroupId(
portletDataContext.getScopeGroupId());
exportActionableDynamicQuery.setPerformActionMethod(
new ActionableDynamicQuery.PerformActionMethod() {
@Override
public void performAction(CPDefinition cpDefinition)
throws PortalException {
StagedModelDataHandlerUtil.exportStagedModel(
portletDataContext, cpDefinition);
}
});
exportActionableDynamicQuery.setStagedModelType(
new StagedModelType(
PortalUtil.getClassNameId(CPDefinition.class.getName())));
return exportActionableDynamicQuery;
}
/**
* @throws PortalException
*/
@Override
public PersistedModel createPersistedModel(Serializable primaryKeyObj)
throws PortalException {
return cpDefinitionPersistence.create(
((Long)primaryKeyObj).longValue());
}
/**
* @throws PortalException
*/
@Override
public PersistedModel deletePersistedModel(PersistedModel persistedModel)
throws PortalException {
if (_log.isWarnEnabled()) {
_log.warn(
"Implement CPDefinitionLocalServiceImpl#deleteCPDefinition(CPDefinition) to avoid orphaned data");
}
return cpDefinitionLocalService.deleteCPDefinition(
(CPDefinition)persistedModel);
}
@Override
public BasePersistence getBasePersistence() {
return cpDefinitionPersistence;
}
/**
* @throws PortalException
*/
@Override
public PersistedModel getPersistedModel(Serializable primaryKeyObj)
throws PortalException {
return cpDefinitionPersistence.findByPrimaryKey(primaryKeyObj);
}
/**
* Returns all the cp definitions matching the UUID and company.
*
* @param uuid the UUID of the cp definitions
* @param companyId the primary key of the company
* @return the matching cp definitions, or an empty list if no matches were found
*/
@Override
public List getCPDefinitionsByUuidAndCompanyId(
String uuid, long companyId) {
return cpDefinitionPersistence.findByUuid_C(uuid, companyId);
}
/**
* Returns a range of cp definitions matching the UUID and company.
*
* @param uuid the UUID of the cp definitions
* @param companyId the primary key of the company
* @param start the lower bound of the range of cp definitions
* @param end the upper bound of the range of cp definitions (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the range of matching cp definitions, or an empty list if no matches were found
*/
@Override
public List getCPDefinitionsByUuidAndCompanyId(
String uuid, long companyId, int start, int end,
OrderByComparator orderByComparator) {
return cpDefinitionPersistence.findByUuid_C(
uuid, companyId, start, end, orderByComparator);
}
/**
* Returns the cp definition matching the UUID and group.
*
* @param uuid the cp definition's UUID
* @param groupId the primary key of the group
* @return the matching cp definition
* @throws PortalException if a matching cp definition could not be found
*/
@Override
public CPDefinition getCPDefinitionByUuidAndGroupId(
String uuid, long groupId)
throws PortalException {
return cpDefinitionPersistence.findByUUID_G(uuid, groupId);
}
/**
* Returns a range of all the cp definitions.
*
*
* 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.commerce.product.model.impl.CPDefinitionModelImpl
.
*
*
* @param start the lower bound of the range of cp definitions
* @param end the upper bound of the range of cp definitions (not inclusive)
* @return the range of cp definitions
*/
@Override
public List getCPDefinitions(int start, int end) {
return cpDefinitionPersistence.findAll(start, end);
}
/**
* Returns the number of cp definitions.
*
* @return the number of cp definitions
*/
@Override
public int getCPDefinitionsCount() {
return cpDefinitionPersistence.countAll();
}
/**
* Updates the cp definition in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
*
*
* Important: Inspect CPDefinitionLocalServiceImpl 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 cpDefinition the cp definition
* @return the cp definition that was updated
*/
@Indexable(type = IndexableType.REINDEX)
@Override
public CPDefinition updateCPDefinition(CPDefinition cpDefinition) {
return cpDefinitionPersistence.update(cpDefinition);
}
@Override
public CPDefinitionLocalization fetchCPDefinitionLocalization(
long CPDefinitionId, String languageId) {
return cpDefinitionLocalizationPersistence.
fetchByCPDefinitionId_LanguageId(CPDefinitionId, languageId);
}
@Override
public CPDefinitionLocalization getCPDefinitionLocalization(
long CPDefinitionId, String languageId)
throws PortalException {
return cpDefinitionLocalizationPersistence.
findByCPDefinitionId_LanguageId(CPDefinitionId, languageId);
}
@Override
public List getCPDefinitionLocalizations(
long CPDefinitionId) {
return cpDefinitionLocalizationPersistence.findByCPDefinitionId(
CPDefinitionId);
}
@Override
public CPDefinitionLocalization updateCPDefinitionLocalization(
CPDefinition cpDefinition, String languageId, String name,
String shortDescription, String description, String metaTitle,
String metaDescription, String metaKeywords)
throws PortalException {
cpDefinition = cpDefinitionPersistence.findByPrimaryKey(
cpDefinition.getPrimaryKey());
CPDefinitionLocalization cpDefinitionLocalization =
cpDefinitionLocalizationPersistence.
fetchByCPDefinitionId_LanguageId(
cpDefinition.getCPDefinitionId(), languageId);
return _updateCPDefinitionLocalization(
cpDefinition, cpDefinitionLocalization, languageId, name,
shortDescription, description, metaTitle, metaDescription,
metaKeywords);
}
@Override
public List updateCPDefinitionLocalizations(
CPDefinition cpDefinition, Map nameMap,
Map shortDescriptionMap,
Map descriptionMap,
Map metaTitleMap,
Map metaDescriptionMap,
Map metaKeywordsMap)
throws PortalException {
cpDefinition = cpDefinitionPersistence.findByPrimaryKey(
cpDefinition.getPrimaryKey());
Map localizedValuesMap =
new HashMap();
for (Map.Entry entry : nameMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[0] = entry.getValue();
}
for (Map.Entry entry : shortDescriptionMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[1] = entry.getValue();
}
for (Map.Entry entry : descriptionMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[2] = entry.getValue();
}
for (Map.Entry entry : metaTitleMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[3] = entry.getValue();
}
for (Map.Entry entry : metaDescriptionMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[4] = entry.getValue();
}
for (Map.Entry entry : metaKeywordsMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = localizedValuesMap.get(languageId);
if (localizedValues == null) {
localizedValues = new String[6];
localizedValuesMap.put(languageId, localizedValues);
}
localizedValues[5] = entry.getValue();
}
List cpDefinitionLocalizations =
new ArrayList(localizedValuesMap.size());
for (CPDefinitionLocalization cpDefinitionLocalization :
cpDefinitionLocalizationPersistence.findByCPDefinitionId(
cpDefinition.getCPDefinitionId())) {
String[] localizedValues = localizedValuesMap.remove(
cpDefinitionLocalization.getLanguageId());
if (localizedValues == null) {
cpDefinitionLocalizationPersistence.remove(
cpDefinitionLocalization);
}
else {
cpDefinitionLocalization.setCtCollectionId(
cpDefinition.getCtCollectionId());
cpDefinitionLocalization.setCompanyId(
cpDefinition.getCompanyId());
cpDefinitionLocalization.setName(localizedValues[0]);
cpDefinitionLocalization.setShortDescription(
localizedValues[1]);
cpDefinitionLocalization.setDescription(localizedValues[2]);
cpDefinitionLocalization.setMetaTitle(localizedValues[3]);
cpDefinitionLocalization.setMetaDescription(localizedValues[4]);
cpDefinitionLocalization.setMetaKeywords(localizedValues[5]);
cpDefinitionLocalizations.add(
cpDefinitionLocalizationPersistence.update(
cpDefinitionLocalization));
}
}
long batchCounter =
counterLocalService.increment(
CPDefinitionLocalization.class.getName(),
localizedValuesMap.size()) - localizedValuesMap.size();
for (Map.Entry entry :
localizedValuesMap.entrySet()) {
String languageId = entry.getKey();
String[] localizedValues = entry.getValue();
CPDefinitionLocalization cpDefinitionLocalization =
cpDefinitionLocalizationPersistence.create(++batchCounter);
cpDefinitionLocalization.setCtCollectionId(
cpDefinition.getCtCollectionId());
cpDefinitionLocalization.setCPDefinitionId(
cpDefinition.getCPDefinitionId());
cpDefinitionLocalization.setCompanyId(cpDefinition.getCompanyId());
cpDefinitionLocalization.setLanguageId(languageId);
cpDefinitionLocalization.setName(localizedValues[0]);
cpDefinitionLocalization.setShortDescription(localizedValues[1]);
cpDefinitionLocalization.setDescription(localizedValues[2]);
cpDefinitionLocalization.setMetaTitle(localizedValues[3]);
cpDefinitionLocalization.setMetaDescription(localizedValues[4]);
cpDefinitionLocalization.setMetaKeywords(localizedValues[5]);
cpDefinitionLocalizations.add(
cpDefinitionLocalizationPersistence.update(
cpDefinitionLocalization));
}
return cpDefinitionLocalizations;
}
private CPDefinitionLocalization _updateCPDefinitionLocalization(
CPDefinition cpDefinition,
CPDefinitionLocalization cpDefinitionLocalization,
String languageId, String name, String shortDescription,
String description, String metaTitle, String metaDescription,
String metaKeywords)
throws PortalException {
if (cpDefinitionLocalization == null) {
long cpDefinitionLocalizationId = counterLocalService.increment(
CPDefinitionLocalization.class.getName());
cpDefinitionLocalization =
cpDefinitionLocalizationPersistence.create(
cpDefinitionLocalizationId);
cpDefinitionLocalization.setCPDefinitionId(
cpDefinition.getCPDefinitionId());
cpDefinitionLocalization.setLanguageId(languageId);
}
cpDefinitionLocalization.setCtCollectionId(
cpDefinition.getCtCollectionId());
cpDefinitionLocalization.setCompanyId(cpDefinition.getCompanyId());
cpDefinitionLocalization.setName(name);
cpDefinitionLocalization.setShortDescription(shortDescription);
cpDefinitionLocalization.setDescription(description);
cpDefinitionLocalization.setMetaTitle(metaTitle);
cpDefinitionLocalization.setMetaDescription(metaDescription);
cpDefinitionLocalization.setMetaKeywords(metaKeywords);
return cpDefinitionLocalizationPersistence.update(
cpDefinitionLocalization);
}
@Deactivate
protected void deactivate() {
}
@Override
public Class>[] getAopInterfaces() {
return new Class>[] {
CPDefinitionLocalService.class, IdentifiableOSGiService.class,
CTService.class, PersistedModelLocalService.class
};
}
@Override
public void setAopProxy(Object aopProxy) {
cpDefinitionLocalService = (CPDefinitionLocalService)aopProxy;
}
/**
* Returns the OSGi service identifier.
*
* @return the OSGi service identifier
*/
@Override
public String getOSGiServiceIdentifier() {
return CPDefinitionLocalService.class.getName();
}
@Override
public CTPersistence getCTPersistence() {
return cpDefinitionPersistence;
}
@Override
public Class getModelClass() {
return CPDefinition.class;
}
@Override
public R updateWithUnsafeFunction(
UnsafeFunction, R, E>
updateUnsafeFunction)
throws E {
return updateUnsafeFunction.apply(cpDefinitionPersistence);
}
protected String getModelClassName() {
return CPDefinition.class.getName();
}
/**
* Performs a SQL query.
*
* @param sql the sql query
*/
protected void runSQL(String sql) {
try {
DataSource dataSource = cpDefinitionPersistence.getDataSource();
DB db = DBManagerUtil.getDB();
sql = db.buildSQL(sql);
sql = PortalUtil.transformSQL(sql);
SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(
dataSource, sql);
sqlUpdate.update();
}
catch (Exception exception) {
throw new SystemException(exception);
}
}
protected CPDefinitionLocalService cpDefinitionLocalService;
@Reference
protected CPDefinitionPersistence cpDefinitionPersistence;
@Reference
protected CPDefinitionFinder cpDefinitionFinder;
@Reference
protected com.liferay.counter.kernel.service.CounterLocalService
counterLocalService;
@Reference
protected CPDefinitionLocalizationPersistence
cpDefinitionLocalizationPersistence;
private static final Log _log = LogFactoryUtil.getLog(
CPDefinitionLocalServiceBaseImpl.class);
}