List of usage examples for com.liferay.portal.kernel.dao.orm ProjectionFactoryUtil countDistinct
public static Projection countDistinct(String propertyName)
From source file:com.liferay.adaptive.media.document.library.web.internal.counter.DLAMImageCounter.java
License:Open Source License
private int _getTrashedFileEntriesCount(long companyId) { DynamicQuery dlFileVersionDynamicQuery = _dlFileVersionLocalService.dynamicQuery(); dlFileVersionDynamicQuery.setProjection(ProjectionFactoryUtil.countDistinct("fileEntryId")); Property companyIdProperty = PropertyFactoryUtil.forName("companyId"); dlFileVersionDynamicQuery.add(companyIdProperty.eq(companyId)); Property groupIdProperty = PropertyFactoryUtil.forName("groupId"); Property repositoryIdProperty = PropertyFactoryUtil.forName("repositoryId"); dlFileVersionDynamicQuery.add(groupIdProperty.eqProperty(repositoryIdProperty)); Property mimeTypeProperty = PropertyFactoryUtil.forName("mimeType"); dlFileVersionDynamicQuery.add(mimeTypeProperty.in(_amImageMimeTypeProvider.getSupportedMimeTypes())); Property statusProperty = PropertyFactoryUtil.forName("status"); dlFileVersionDynamicQuery.add(statusProperty.eq(WorkflowConstants.STATUS_IN_TRASH)); return (int) _dlFileEntryLocalService.dynamicQueryCount(dlFileVersionDynamicQuery); }
From source file:com.liferay.exportimport.test.util.internal.exportimport.staged.model.repository.DummyFolderStagedModelRepository.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery(PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override//from w ww. j ava 2 s. com public long performCount() throws PortalException { ManifestSummary manifestSummary = portletDataContext.getManifestSummary(); StagedModelType stagedModelType = getStagedModelType(); long modelAdditionCount = _dummyFolders.size(); manifestSummary.addModelAdditionCount(stagedModelType, modelAdditionCount); manifestSummary.addModelDeletionCount(stagedModelType, 0); return modelAdditionCount; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; exportActionableDynamicQuery.setBaseLocalService(new DummyFolderBaseLocalServiceImpl()); Class<?> clazz = getClass(); exportActionableDynamicQuery.setClassLoader(clazz.getClassLoader()); exportActionableDynamicQuery.setModelClass(DummyFolder.class); exportActionableDynamicQuery.setPrimaryKeyPropertyName("id"); 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); } StagedModelType stagedModelType = exportActionableDynamicQuery.getStagedModelType(); long referrerClassNameId = stagedModelType.getReferrerClassNameId(); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); if ((referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ALL) && (referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ANY)) { dynamicQuery.add(classNameIdProperty.eq(stagedModelType.getReferrerClassNameId())); } else if (referrerClassNameId == StagedModelType.REFERRER_CLASS_NAME_ID_ANY) { dynamicQuery.add(classNameIdProperty.isNotNull()); } Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); if (portletDataContext.isInitialPublication()) { dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH)); } else { StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(DummyFolder.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<DummyFolder>() { @Override public void performAction(DummyFolder dummyFolder) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, dummyFolder); } }); exportActionableDynamicQuery.setStagedModelType(new StagedModelType( portal.getClassNameId(DummyFolder.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL)); return exportActionableDynamicQuery; }
From source file:com.liferay.exportimport.test.util.internal.exportimport.staged.model.repository.DummyReferenceStagedModelRepository.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery(PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override/*w w w. ja v a2s. c o m*/ public long performCount() throws PortalException { ManifestSummary manifestSummary = portletDataContext.getManifestSummary(); StagedModelType stagedModelType = getStagedModelType(); long modelAdditionCount = _dummyReferences.size(); manifestSummary.addModelAdditionCount(stagedModelType, modelAdditionCount); manifestSummary.addModelDeletionCount(stagedModelType, 0); return modelAdditionCount; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; exportActionableDynamicQuery.setBaseLocalService(new DummyReferenceBaseLocalServiceImpl()); Class<?> clazz = getClass(); exportActionableDynamicQuery.setClassLoader(clazz.getClassLoader()); exportActionableDynamicQuery.setModelClass(DummyReference.class); exportActionableDynamicQuery.setPrimaryKeyPropertyName("id"); 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); } StagedModelType stagedModelType = exportActionableDynamicQuery.getStagedModelType(); long referrerClassNameId = stagedModelType.getReferrerClassNameId(); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); if ((referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ALL) && (referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ANY)) { dynamicQuery.add(classNameIdProperty.eq(stagedModelType.getReferrerClassNameId())); } else if (referrerClassNameId == StagedModelType.REFERRER_CLASS_NAME_ID_ANY) { dynamicQuery.add(classNameIdProperty.isNotNull()); } Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); if (portletDataContext.isInitialPublication()) { dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH)); } else { StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(DummyReference.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<DummyReference>() { @Override public void performAction(DummyReference dummyReference) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, dummyReference); } }); exportActionableDynamicQuery.setStagedModelType(new StagedModelType( portal.getClassNameId(DummyReference.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL)); return exportActionableDynamicQuery; }
From source file:com.liferay.exportimport.test.util.internal.exportimport.staged.model.repository.DummyStagedModelRepository.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery(PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override//ww w . java 2 s . c om public long performCount() throws PortalException { ManifestSummary manifestSummary = portletDataContext.getManifestSummary(); StagedModelType stagedModelType = getStagedModelType(); long modelAdditionCount = _dummies.size(); manifestSummary.addModelAdditionCount(stagedModelType, modelAdditionCount); manifestSummary.addModelDeletionCount(stagedModelType, 0); return modelAdditionCount; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; exportActionableDynamicQuery.setBaseLocalService(new DummyBaseLocalServiceImpl()); Class<?> clazz = getClass(); exportActionableDynamicQuery.setClassLoader(clazz.getClassLoader()); exportActionableDynamicQuery.setModelClass(Dummy.class); exportActionableDynamicQuery.setPrimaryKeyPropertyName("id"); 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); } StagedModelType stagedModelType = exportActionableDynamicQuery.getStagedModelType(); long referrerClassNameId = stagedModelType.getReferrerClassNameId(); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); if ((referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ALL) && (referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ANY)) { dynamicQuery.add(classNameIdProperty.eq(stagedModelType.getReferrerClassNameId())); } else if (referrerClassNameId == StagedModelType.REFERRER_CLASS_NAME_ID_ANY) { dynamicQuery.add(classNameIdProperty.isNotNull()); } Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); if (portletDataContext.isInitialPublication()) { dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH)); } else { StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(Dummy.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<Dummy>() { @Override public void performAction(Dummy dummy) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, dummy); } }); exportActionableDynamicQuery.setStagedModelType(new StagedModelType( portal.getClassNameId(Dummy.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL)); return exportActionableDynamicQuery; }
From source file:com.liferay.journal.service.base.JournalArticleLocalServiceBaseImpl.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery( final PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override//from www. j a v a 2 s . c o m 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; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; 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); } StagedModelType stagedModelType = exportActionableDynamicQuery.getStagedModelType(); long referrerClassNameId = stagedModelType.getReferrerClassNameId(); Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); if ((referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ALL) && (referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ANY)) { dynamicQuery.add(classNameIdProperty.eq(stagedModelType.getReferrerClassNameId())); } else if (referrerClassNameId == StagedModelType.REFERRER_CLASS_NAME_ID_ANY) { dynamicQuery.add(classNameIdProperty.isNotNull()); } Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); if (portletDataContext.isInitialPublication()) { dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH)); } else { StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(JournalArticle.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() { @Override public void performAction(JournalArticle journalArticle) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, journalArticle); } }); exportActionableDynamicQuery .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(JournalArticle.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL)); return exportActionableDynamicQuery; }
From source file:com.liferay.knowledgebase.service.base.KBArticleLocalServiceBaseImpl.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery( final PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override/* w ww .jav a 2 s. c o m*/ public long performCount() throws PortalException { ManifestSummary manifestSummary = portletDataContext.getManifestSummary(); StagedModelType stagedModelType = getStagedModelType(); long modelAdditionCount = super.performCount(); manifestSummary.addModelAdditionCount(stagedModelType.toString(), modelAdditionCount); long modelDeletionCount = ExportImportHelperUtil.getModelDeletionCount(portletDataContext, stagedModelType); manifestSummary.addModelDeletionCount(stagedModelType.toString(), modelDeletionCount); return modelAdditionCount; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; initActionableDynamicQuery(exportActionableDynamicQuery); exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { portletDataContext.addDateRangeCriteria(dynamicQuery, "modifiedDate"); StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(KBArticle.class.getName()); Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery.setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod() { @Override public void performAction(Object object) throws PortalException { KBArticle stagedModel = (KBArticle) object; StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, stagedModel); } }); exportActionableDynamicQuery .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(KBArticle.class.getName()))); return exportActionableDynamicQuery; }
From source file:com.liferay.knowledgebase.service.persistence.KBArticleExportActionableDynamicQuery.java
License:Open Source License
@Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); }
From source file:com.liferay.wiki.service.base.WikiPageLocalServiceBaseImpl.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery( final PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override/*w ww . j a v a2s . com*/ 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; } @Override protected Projection getCountProjection() { return ProjectionFactoryUtil.countDistinct("resourcePrimKey"); } }; initActionableDynamicQuery(exportActionableDynamicQuery); exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() { @Override public void addCriteria(DynamicQuery dynamicQuery) { Criterion modifiedDateCriterion = portletDataContext.getDateRangeCriteria("modifiedDate"); 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(WikiPage.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<WikiPage>() { @Override public void performAction(WikiPage wikiPage) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, wikiPage); } }); exportActionableDynamicQuery .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(WikiPage.class.getName()))); return exportActionableDynamicQuery; }
From source file:com.rcs.service.service.impl.MessageSourceLocalServiceImpl.java
License:Open Source License
public long getMessageSourcesKeyCount() throws SystemException { DynamicQuery query = DynamicQueryFactoryUtil.forClass(MessageSource.class); query.setProjection(ProjectionFactoryUtil.countDistinct("primaryKey.key")); List result = MessageSourceLocalServiceUtil.dynamicQuery(query); Long count = (Long) result.get(0); return count.longValue(); }
From source file:com.rcs.service.service.impl.MessageSourceLocalServiceImpl.java
License:Open Source License
public long getMessageSourcesKeyCount(String resourceKey, String resourceLocale, String resourceValue, String resourceBundle) throws SystemException { DynamicQuery query = DynamicQueryFactoryUtil.forClass(MessageSource.class); if (StringUtils.isNotBlank(resourceKey)) { query.add(RestrictionsFactoryUtil.ilike("primaryKey.key", "%" + resourceKey + "%")); }/* w w w . ja v a 2s .co m*/ if (StringUtils.isNotBlank(resourceLocale)) { query.add(PropertyFactoryUtil.forName("primaryKey.locale").eq(resourceLocale)); } if (StringUtils.isNotBlank(resourceValue)) { query.add(RestrictionsFactoryUtil.ilike("value", "%" + resourceValue + "%")); //forName("resourceValue").ilike("%" + resourceValue + "%")); } if (StringUtils.isNotBlank(resourceBundle) && !RcsConstants.ALL_BUNDLES.equals(resourceBundle)) { query.add(PropertyFactoryUtil.forName("bundle").eq(resourceBundle)); } query.setProjection(ProjectionFactoryUtil.countDistinct("primaryKey.key")); List result = MessageSourceLocalServiceUtil.dynamicQuery(query); Long count = (Long) result.get(0); return count.longValue(); }