Example usage for com.liferay.portal.kernel.dao.orm Property isNull

List of usage examples for com.liferay.portal.kernel.dao.orm Property isNull

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.orm Property isNull.

Prototype

public Criterion isNull();

Source Link

Usage

From source file:com.liferay.bookmarks.service.impl.BookmarksEntryLocalServiceImpl.java

License:Open Source License

@Override
public void setTreePaths(final long folderId, final String treePath, final boolean reindex)
        throws PortalException {

    if (treePath == null) {
        throw new IllegalArgumentException("Tree path is null");
    }//from w w  w. j  a v a 2 s.  c  o  m

    final IndexableActionableDynamicQuery indexableActionableDynamicQuery = getIndexableActionableDynamicQuery();

    indexableActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            Property folderIdProperty = PropertyFactoryUtil.forName("folderId");

            dynamicQuery.add(folderIdProperty.eq(folderId));

            Property treePathProperty = PropertyFactoryUtil.forName("treePath");

            dynamicQuery
                    .add(RestrictionsFactoryUtil.or(treePathProperty.isNull(), treePathProperty.ne(treePath)));
        }

    });

    final Indexer<BookmarksEntry> indexer = IndexerRegistryUtil.getIndexer(BookmarksEntry.class);

    indexableActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<BookmarksEntry>() {

                @Override
                public void performAction(BookmarksEntry entry) throws PortalException {

                    entry.setTreePath(treePath);

                    updateBookmarksEntry(entry);

                    if (!reindex) {
                        return;
                    }

                    Document document = indexer.getDocument(entry);

                    indexableActionableDynamicQuery.addDocuments(document);
                }

            });

    indexableActionableDynamicQuery.performActions();
}

From source file:com.liferay.document.library.web.internal.lar.DLPortletDataHandler.java

License:Open Source License

protected ActionableDynamicQuery getRepositoryActionableDynamicQuery(
        final PortletDataContext portletDataContext) throws Exception {

    ExportActionableDynamicQuery exportActionableDynamicQuery = _repositoryLocalService
            .getExportActionableDynamicQuery(portletDataContext);

    final ActionableDynamicQuery.AddCriteriaMethod addCriteriaMethod = exportActionableDynamicQuery
            .getAddCriteriaMethod();//from  w ww  .  j ava  2s.  c o m

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            addCriteriaMethod.addCriteria(dynamicQuery);

            Conjunction conjunction = RestrictionsFactoryUtil.conjunction();

            Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId");

            long liferayRepositoryClassNameId = _portal.getClassNameId(LiferayRepositoryDefiner.CLASS_NAME);

            conjunction.add(classNameIdProperty.ne(liferayRepositoryClassNameId));

            long tempFileRepositoryClassNameId = _portal
                    .getClassNameId(TemporaryFileEntryRepositoryDefiner.CLASS_NAME);

            conjunction.add(classNameIdProperty.ne(tempFileRepositoryClassNameId));

            dynamicQuery.add(conjunction);

            Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

            Property portletIdProperty = PropertyFactoryUtil.forName("portletId");

            disjunction.add(portletIdProperty.isNull());
            disjunction.add(portletIdProperty.eq(StringPool.BLANK));
            disjunction.add(portletIdProperty.eq(DLPortletKeys.DOCUMENT_LIBRARY_ADMIN));
            disjunction.add(portletIdProperty.like(DLPortletKeys.DOCUMENT_LIBRARY + "%"));

            dynamicQuery.add(disjunction);
        }

    });

    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(
            _portal.getClassNameId(Repository.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL));

    return exportActionableDynamicQuery;
}

From source file:com.liferay.document.library.web.lar.DLPortletDataHandler.java

License:Open Source License

protected ActionableDynamicQuery getRepositoryActionableDynamicQuery(
        final PortletDataContext portletDataContext) throws Exception {

    ExportActionableDynamicQuery exportActionableDynamicQuery = _repositoryLocalService
            .getExportActionableDynamicQuery(portletDataContext);

    final ActionableDynamicQuery.AddCriteriaMethod addCriteriaMethod = exportActionableDynamicQuery
            .getAddCriteriaMethod();/*ww w.j av  a  2s . co  m*/

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            addCriteriaMethod.addCriteria(dynamicQuery);

            Conjunction conjunction = RestrictionsFactoryUtil.conjunction();

            Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId");

            long liferayRepositoryClassNameId = _portal.getClassNameId(LiferayRepositoryDefiner.CLASS_NAME);

            conjunction.add(classNameIdProperty.ne(liferayRepositoryClassNameId));

            long tempFileRepositoryClassNameId = _portal
                    .getClassNameId(TemporaryFileEntryRepositoryDefiner.CLASS_NAME);

            conjunction.add(classNameIdProperty.ne(tempFileRepositoryClassNameId));

            dynamicQuery.add(conjunction);

            Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

            Property portletIdProperty = PropertyFactoryUtil.forName("portletId");

            disjunction.add(portletIdProperty.isNull());
            disjunction.add(portletIdProperty.eq(StringPool.BLANK));

            dynamicQuery.add(disjunction);
        }

    });

    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(
            _portal.getClassNameId(Repository.class.getName()), StagedModelType.REFERRER_CLASS_NAME_ID_ALL));

    return exportActionableDynamicQuery;
}

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 .jav  a 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/*  ww w.  j a v a  2  s . co 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/*from w  w w .  j av a2  s  .co  m*/
        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  ww  w . j ava 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.journal.service.base.JournalFolderLocalServiceBaseImpl.java

License:Open Source License

@Override
public ExportActionableDynamicQuery getExportActionableDynamicQuery(
        final PortletDataContext portletDataContext) {
    final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() {
        @Override/*  www . ja va2  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;
        }
    };

    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(JournalFolder.class.getName());

                dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses()));
            }
        }
    });

    exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());

    exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId());

    exportActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalFolder>() {
                @Override
                public void performAction(JournalFolder journalFolder) throws PortalException {
                    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, journalFolder);
                }
            });
    exportActionableDynamicQuery
            .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(JournalFolder.class.getName())));

    return exportActionableDynamicQuery;
}

From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

@Override
public void setTreePaths(final long folderId, final String treePath, final boolean reindex)
        throws PortalException {

    if (treePath == null) {
        throw new IllegalArgumentException("Tree path is null");
    }/*from   ww  w .  ja va2 s.  c om*/

    final IndexableActionableDynamicQuery indexableActionableDynamicQuery = getIndexableActionableDynamicQuery();

    indexableActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            Property folderIdProperty = PropertyFactoryUtil.forName("folderId");

            dynamicQuery.add(folderIdProperty.eq(folderId));

            Property treePathProperty = PropertyFactoryUtil.forName("treePath");

            dynamicQuery
                    .add(RestrictionsFactoryUtil.or(treePathProperty.isNull(), treePathProperty.ne(treePath)));
        }

    });

    final Indexer<JournalArticle> indexer = IndexerRegistryUtil.getIndexer(JournalArticle.class.getName());

    indexableActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() {

                @Override
                public void performAction(JournalArticle article) throws PortalException {

                    article.setTreePath(treePath);

                    updateJournalArticle(article);

                    if (!reindex) {
                        return;
                    }

                    com.liferay.portal.kernel.search.Document document = indexer.getDocument(article);

                    indexableActionableDynamicQuery.addDocuments(document);
                }

            });

    indexableActionableDynamicQuery.performActions();
}