Example usage for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil eqProperty

List of usage examples for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil eqProperty

Introduction

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

Prototype

public static Criterion eqProperty(String propertyName, String otherPropertyName) 

Source Link

Usage

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

License:Open Source License

protected ActionableDynamicQuery getFileEntryActionableDynamicQuery(final PortletDataContext portletDataContext)
        throws Exception {

    final ExportActionableDynamicQuery exportActionableDynamicQuery = _dlFileEntryLocalService
            .getExportActionableDynamicQuery(portletDataContext);

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override//from  ww  w .  j a v a 2  s.  co  m
        public void addCriteria(DynamicQuery dynamicQuery) {
            DynamicQuery fileVersionDynamicQuery = DynamicQueryFactoryUtil.forClass(DLFileVersion.class,
                    "dlFileVersion", PortalClassLoaderUtil.getClassLoader());

            fileVersionDynamicQuery.setProjection(ProjectionFactoryUtil.property("fileEntryId"));

            fileVersionDynamicQuery
                    .add(RestrictionsFactoryUtil.eqProperty("dlFileVersion.fileEntryId", "this.fileEntryId"));
            fileVersionDynamicQuery
                    .add(RestrictionsFactoryUtil.eqProperty("dlFileVersion.version", "this.version"));

            Property fileVersionStatusProperty = PropertyFactoryUtil.forName("dlFileVersion.status");

            StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
                    .getStagedModelDataHandler(DLFileEntry.class.getName());

            fileVersionDynamicQuery
                    .add(fileVersionStatusProperty.in(stagedModelDataHandler.getExportableStatuses()));

            Criterion fileVersionModifiedDateCriterion = portletDataContext
                    .getDateRangeCriteria("dlFileVersion.modifiedDate");
            Criterion fileVersionStatusDateCriterion = portletDataContext
                    .getDateRangeCriteria("dlFileVersion.statusDate");
            Criterion modifiedDateCriterion = portletDataContext.getDateRangeCriteria("this.modifiedDate");

            if ((fileVersionStatusDateCriterion != null) && (modifiedDateCriterion != null)) {

                Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

                disjunction.add(fileVersionModifiedDateCriterion);
                disjunction.add(fileVersionStatusDateCriterion);
                disjunction.add(modifiedDateCriterion);

                fileVersionDynamicQuery.add(disjunction);
            }

            Property fileEntryIdProperty = PropertyFactoryUtil.forName("fileEntryId");

            dynamicQuery.add(fileEntryIdProperty.in(fileVersionDynamicQuery));

            Property repositoryIdProperty = PropertyFactoryUtil.forName("repositoryId");

            dynamicQuery.add(repositoryIdProperty.eq(portletDataContext.getScopeGroupId()));
        }

    });
    exportActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<DLFileEntry>() {

                @Override
                public void performAction(DLFileEntry dlFileEntry) throws PortalException {

                    FileEntry fileEntry = _dlAppLocalService.getFileEntry(dlFileEntry.getFileEntryId());

                    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, fileEntry);
                }

            });
    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(DLFileEntryConstants.getClassName()));

    return exportActionableDynamicQuery;
}

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

License:Open Source License

protected ActionableDynamicQuery getFileEntryActionableDynamicQuery(final PortletDataContext portletDataContext)
        throws Exception {

    final ExportActionableDynamicQuery exportActionableDynamicQuery = _dlFileEntryLocalService
            .getExportActionableDynamicQuery(portletDataContext);

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

        @Override/* www .jav a 2 s .  c  o m*/
        public void addCriteria(DynamicQuery dynamicQuery) {
            DynamicQuery fileVersionDynamicQuery = DynamicQueryFactoryUtil.forClass(DLFileVersion.class,
                    "dlFileVersion", PortalClassLoaderUtil.getClassLoader());

            fileVersionDynamicQuery.setProjection(ProjectionFactoryUtil.property("fileEntryId"));

            fileVersionDynamicQuery
                    .add(RestrictionsFactoryUtil.eqProperty("dlFileVersion.fileEntryId", "fileEntryId"));
            fileVersionDynamicQuery.add(RestrictionsFactoryUtil.eqProperty("dlFileVersion.version", "version"));

            Property statusProperty = PropertyFactoryUtil.forName("status");

            StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
                    .getStagedModelDataHandler(DLFileEntry.class.getName());

            fileVersionDynamicQuery.add(statusProperty.in(stagedModelDataHandler.getExportableStatuses()));

            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);

                fileVersionDynamicQuery.add(disjunction);
            }

            Property fileEntryIdProperty = PropertyFactoryUtil.forName("fileEntryId");

            dynamicQuery.add(fileEntryIdProperty.in(fileVersionDynamicQuery));

            Property repositoryIdProperty = PropertyFactoryUtil.forName("repositoryId");

            dynamicQuery.add(repositoryIdProperty.eq(portletDataContext.getScopeGroupId()));
        }

    });
    exportActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<DLFileEntry>() {

                @Override
                public void performAction(DLFileEntry dlFileEntry) throws PortalException {

                    FileEntry fileEntry = _dlAppLocalService.getFileEntry(dlFileEntry.getFileEntryId());

                    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, fileEntry);
                }

            });
    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(DLFileEntryConstants.getClassName()));

    return exportActionableDynamicQuery;
}

From source file:com.liferay.dynamic.data.lists.exportimport.staged.model.repository.DDLRecordStagedModelRepository.java

License:Open Source License

protected DynamicQuery getRecordSetDynamicQuery(int scope) {
    StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
            .getStagedModelDataHandler(DDLRecord.class.getName());

    Class<?> clazz = stagedModelDataHandler.getClass();

    DynamicQuery recordSetDynamicQuery = DynamicQueryFactoryUtil.forClass(DDLRecordSet.class, "recordSet",
            clazz.getClassLoader());/*from ww w .j  a v a2  s. c o  m*/

    recordSetDynamicQuery.setProjection(ProjectionFactoryUtil.property("recordSetId"));

    recordSetDynamicQuery.add(RestrictionsFactoryUtil.eqProperty("recordSet.recordSetId", "recordSetId"));

    Property scopeProperty = PropertyFactoryUtil.forName("scope");

    recordSetDynamicQuery.add(scopeProperty.eq(scope));

    return recordSetDynamicQuery;
}

From source file:com.liferay.dynamic.data.lists.exportimport.staged.model.repository.DDLRecordStagedModelRepository.java

License:Open Source License

protected DynamicQuery getRecordVersionDynamicQuery() {
    StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
            .getStagedModelDataHandler(DDLRecord.class.getName());

    Class<?> clazz = stagedModelDataHandler.getClass();

    DynamicQuery recordVersionDynamicQuery = DynamicQueryFactoryUtil.forClass(DDLRecordVersion.class,
            "recordVersion", clazz.getClassLoader());

    recordVersionDynamicQuery.setProjection(ProjectionFactoryUtil.property("recordId"));

    Property statusProperty = PropertyFactoryUtil.forName("status");

    recordVersionDynamicQuery.add(statusProperty.in(stagedModelDataHandler.getExportableStatuses()));

    recordVersionDynamicQuery.add(RestrictionsFactoryUtil.eqProperty("recordVersion.version", "version"));
    recordVersionDynamicQuery.add(RestrictionsFactoryUtil.eqProperty("recordVersion.recordId", "recordId"));

    return recordVersionDynamicQuery;
}

From source file:com.liferay.dynamic.data.mapping.exportimport.staged.model.repository.DDMFormInstanceRecordStagedModelRepository.java

License:Open Source License

protected DynamicQuery getFormInstanceDynamicQuery() {
    StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
            .getStagedModelDataHandler(DDMFormInstanceRecord.class.getName());

    Class<?> clazz = stagedModelDataHandler.getClass();

    DynamicQuery formInstanceDynamicQuery = DynamicQueryFactoryUtil.forClass(DDMFormInstance.class,
            "formInstance", clazz.getClassLoader());

    formInstanceDynamicQuery.setProjection(ProjectionFactoryUtil.property("formInstanceId"));

    formInstanceDynamicQuery// w w w  .j  a v  a  2 s  .c o m
            .add(RestrictionsFactoryUtil.eqProperty("formInstance.formInstanceId", "formInstanceId"));

    return formInstanceDynamicQuery;
}

From source file:com.liferay.dynamic.data.mapping.exportimport.staged.model.repository.DDMFormInstanceRecordStagedModelRepository.java

License:Open Source License

protected DynamicQuery getRecordVersionDynamicQuery() {
    StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
            .getStagedModelDataHandler(DDMFormInstanceRecord.class.getName());

    Class<?> clazz = stagedModelDataHandler.getClass();

    DynamicQuery formInstanceRecordVersionDynamicQuery = DynamicQueryFactoryUtil
            .forClass(DDMFormInstanceRecordVersion.class, "formInstanceRecordVersion", clazz.getClassLoader());

    formInstanceRecordVersionDynamicQuery
            .setProjection(ProjectionFactoryUtil.property("formInstanceRecordVersionId"));

    Property statusProperty = PropertyFactoryUtil.forName("status");

    formInstanceRecordVersionDynamicQuery
            .add(statusProperty.in(stagedModelDataHandler.getExportableStatuses()));

    formInstanceRecordVersionDynamicQuery
            .add(RestrictionsFactoryUtil.eqProperty("formInstanceRecordVersion.version", "version"));
    formInstanceRecordVersionDynamicQuery.add(RestrictionsFactoryUtil.eqProperty(
            "formInstanceRecordVersion.formInstanceRecordVersionId", "formInstanceRecordVersionId"));

    return formInstanceRecordVersionDynamicQuery;
}

From source file:com.liferay.journal.exportimport.data.handler.JournalPortletDataHandler.java

License:Open Source License

protected ActionableDynamicQuery getArticleActionableDynamicQuery(final PortletDataContext portletDataContext) {

    ExportActionableDynamicQuery exportActionableDynamicQuery = _journalArticleLocalService
            .getExportActionableDynamicQuery(portletDataContext);

    final ExportActionableDynamicQuery.AddCriteriaMethod addCriteriaMethod = exportActionableDynamicQuery
            .getAddCriteriaMethod();/*w  w w  .  java 2 s. com*/

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

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

            if (portletDataContext.getBooleanParameter(NAMESPACE, "version-history")) {

                return;
            }

            Class<?> clazz = getClass();

            DynamicQuery versionArticleDynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class,
                    "versionArticle", clazz.getClassLoader());

            versionArticleDynamicQuery.setProjection(ProjectionFactoryUtil
                    .alias(ProjectionFactoryUtil.max("versionArticle.version"), "versionArticle.version"));

            // We need to use the "this" default alias to make sure the
            // database engine handles this subquery as a correlated
            // subquery

            versionArticleDynamicQuery.add(RestrictionsFactoryUtil.eqProperty("this.resourcePrimKey",
                    "versionArticle.resourcePrimKey"));

            Property workflowStatusProperty = PropertyFactoryUtil.forName("status");

            versionArticleDynamicQuery.add(
                    workflowStatusProperty.in(_journalArticleStagedModelDataHandler.getExportableStatuses()));

            Property versionProperty = PropertyFactoryUtil.forName("version");

            dynamicQuery.add(versionProperty.eq(versionArticleDynamicQuery));
        }

    });

    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(JournalArticle.class.getName()));

    return exportActionableDynamicQuery;
}

From source file:jorgediazest.indexchecker.model.JournalArticle.java

License:Open Source License

public void addMissingJournalArticles(String[] attributes, Criterion filter, Criterion filterStatus,
        Map<Long, Data> dataMap) throws Exception {

    DynamicQuery query = service.newDynamicQuery();

    List<String> validAttributes = new ArrayList<String>();

    ProjectionList projectionList = this.getPropertyProjection(attributes, validAttributes);

    query.setProjection(ProjectionFactoryUtil.distinct(projectionList));

    query.add(filter);//from  w w w  .  j  av a 2 s. c  om
    /* TODO
          DynamicQuery articleVersionDynamicQuery = ModelUtil.newDynamicQuery(
             com.liferay.portlet.journal.model.JournalArticle.class,
             "articleVersion");
       Fin TODO */

    DynamicQuery articleVersionDynamicQuery = ModelUtil.newDynamicQuery(null, "articleVersion");

    articleVersionDynamicQuery.setProjection(ProjectionFactoryUtil
            .alias(ProjectionFactoryUtil.max("articleVersion.version"), "articleVersion.version"));

    // We need to use the "this" default alias to make sure the database
    // engine handles this subquery as a correlated subquery

    articleVersionDynamicQuery
            .add(RestrictionsFactoryUtil.eqProperty("this.resourcePrimKey", "articleVersion.resourcePrimKey"));

    articleVersionDynamicQuery.add(filterStatus);

    query.add(getProperty("version").eq(articleVersionDynamicQuery));

    query.add(filterStatus);

    @SuppressWarnings("unchecked")
    List<Object[]> results = (List<Object[]>) service.executeDynamicQuery(query);

    String[] validAttributesArr = validAttributes.toArray(new String[validAttributes.size()]);

    for (Object[] result : results) {
        Data data = createDataObject(validAttributesArr, result);

        if (!dataMap.containsKey(data.getResourcePrimKey())) {
            dataMap.put(data.getResourcePrimKey(), data);
        }
    }
}