Example usage for com.liferay.portal.kernel.dao.orm ProjectionFactoryUtil max

List of usage examples for com.liferay.portal.kernel.dao.orm ProjectionFactoryUtil max

Introduction

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

Prototype

public static Projection max(String propertyName) 

Source Link

Usage

From source file:at.pw.service.impl.InventoryLocalServiceImpl.java

License:Open Source License

public Inventory addInventoryWithAutoincrement() {
    try {//from   ww w  . j  a  v  a  2 s.  c o m
        InventoryImpl inventory = new InventoryImpl();
        inventory.setInventoryId(CounterLocalServiceUtil.increment());
        DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Inventory.class);
        dynamicQuery.setProjection(ProjectionFactoryUtil.max("inventarnummer"));
        List results = InventoryLocalServiceUtil.dynamicQuery(dynamicQuery);
        long id = 0;
        for (Object obj : results) {
            try {
                id = Long.parseLong(obj.toString());
            } catch (Exception ex) {

            }
        }
        inventory.setInventarnummer(id + 1);
        return InventoryLocalServiceUtil.addInventory(inventory);
    } catch (SystemException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

From source file:com.hitss.layer.service.impl.FasePostulacionLocalServiceImpl.java

License:Open Source License

public FasePostulacion getLastPostulacion(Long solicitud, Long usuario) {
    DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(FasePostulacion.class, "child");
    subQuery.setProjection(ProjectionFactoryUtil.max("child.fechamodifica"));
    subQuery.add(PropertyFactoryUtil.forName("child.solicitudRequerimientoId").eq(solicitud));
    subQuery.add(PropertyFactoryUtil.forName("child.usuarioId").eq(usuario));
    subQuery.setLimit(0, 1);/*from   w w  w .j a  v a 2s.co m*/
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(FasePostulacion.class, "fase");
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.fechamodifica").eq(subQuery));
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.solicitudRequerimientoId").eq(solicitud));
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.usuarioId").eq(usuario));
    try {
        List<FasePostulacion> lstfasePostulacion = FasePostulacionLocalServiceUtil.dynamicQuery(dynamicQuery);
        _log.info("lstfasePostulacion:" + lstfasePostulacion);
        if (!lstfasePostulacion.isEmpty()) {
            return lstfasePostulacion.get(0);
        }
    } catch (SystemException e) {
        _log.error("FasePostulacionServiceImpl getLastPostulacion: " + e.getLocalizedMessage(), e);
    }
    return null;
}

From source file:com.hitss.layer.service.impl.FasePostulacionLocalServiceImpl.java

License:Open Source License

public FasePostulacion getNotLastPostulacion(Long solicitud, Long usuario) {
    DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(FasePostulacion.class, "child");
    subQuery.setProjection(ProjectionFactoryUtil.max("child.fechamodifica"));
    subQuery.add(PropertyFactoryUtil.forName("child.solicitudRequerimientoId").ne(solicitud));
    subQuery.add(PropertyFactoryUtil.forName("child.usuarioId").eq(usuario));
    subQuery.setLimit(0, 1);//from  ww w .ja  v a 2s . c om
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(FasePostulacion.class, "fase");
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.fechamodifica").eq(subQuery));
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.solicitudRequerimientoId").ne(solicitud));
    dynamicQuery.add(PropertyFactoryUtil.forName("fase.usuarioId").eq(usuario));
    try {
        List<FasePostulacion> lstfasePostulacion = FasePostulacionLocalServiceUtil.dynamicQuery(dynamicQuery);
        _log.info("lstfasePostulacion:" + lstfasePostulacion);
        if (!lstfasePostulacion.isEmpty()) {
            return lstfasePostulacion.get(0);
        }
    } catch (SystemException e) {
        _log.error("FasePostulacionServiceImpl getLastPostulacion: " + e.getLocalizedMessage(), e);
    }
    return null;
}

From source file:com.liferay.document.library.sync.service.impl.DLSyncEventLocalServiceImpl.java

License:Open Source License

@Override
public List<DLSyncEvent> getLatestDLSyncEvents() {
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(DLSyncEvent.class);

    Property property = PropertyFactoryUtil.forName("modifiedTime");

    DynamicQuery modifiedTimeDynamicQuery = DynamicQueryFactoryUtil.forClass(DLSyncEvent.class);

    Projection projection = ProjectionFactoryUtil.max("modifiedTime");

    modifiedTimeDynamicQuery.setProjection(projection);

    dynamicQuery.add(property.eq(modifiedTimeDynamicQuery));

    return dlSyncEventPersistence.findWithDynamicQuery(dynamicQuery);
}

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();/*  ww w  . j  av  a2  s  . c  o m*/

    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:com.liferay.lms.service.impl.LearningActivityResultLocalServiceImpl.java

License:Open Source License

public Date getLastEndDateByUserId(long userId) throws SystemException {
    ClassLoader classLoader = (ClassLoader) PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),
            "portletClassLoader");
    DynamicQuery dq = DynamicQueryFactoryUtil.forClass(LearningActivityResult.class, classLoader);
    Criterion criterion = PropertyFactoryUtil.forName("userId").eq(userId);
    dq.add(criterion);//from  w  w w.  j  ava 2 s.  com
    criterion = PropertyFactoryUtil.forName("endDate").isNotNull();
    dq.add(criterion);
    dq.setProjection(ProjectionFactoryUtil.max("endDate"));
    return (Date) (learningActivityResultPersistence.findWithDynamicQuery(dq).get(0));
}

From source file:com.liferay.message.boards.service.impl.MBStatsUserLocalServiceImpl.java

License:Open Source License

@Override
public Date getLastPostDateByUserId(long groupId, long userId) {
    DynamicQuery dynamicQuery = mbThreadLocalService.dynamicQuery();

    Projection projection = ProjectionFactoryUtil.max("lastPostDate");

    dynamicQuery.setProjection(projection);

    Property userIdProperty = PropertyFactoryUtil.forName("userId");

    dynamicQuery.add(userIdProperty.eq(userId));

    Property threadIdProperty = PropertyFactoryUtil.forName("threadId");

    Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

    QueryDefinition<MBThread> queryDefinition = new QueryDefinition<>(WorkflowConstants.STATUS_IN_TRASH);

    List<MBThread> threads = mbThreadLocalService.getGroupThreads(groupId, queryDefinition);

    for (MBThread thread : threads) {
        disjunction.add(threadIdProperty.ne(thread.getThreadId()));
    }/*  w w  w.j a  v  a 2 s  .  com*/

    dynamicQuery.add(disjunction);

    List<Date> results = mbThreadLocalService.dynamicQuery(dynamicQuery);

    return results.get(0);
}

From source file:com.liferay.sync.service.impl.SyncDLObjectLocalServiceImpl.java

License:Open Source License

@Override
public long getLatestModifiedTime() {
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(SyncDLObject.class,
            SyncDLObject.class.getClassLoader());

    Projection projection = ProjectionFactoryUtil.max("modifiedTime");

    dynamicQuery.setProjection(projection);

    List<Long> modifiedTimes = syncDLObjectPersistence.findWithDynamicQuery(dynamicQuery);

    if (modifiedTimes.isEmpty() || (modifiedTimes.get(0) == 0)) {
        return System.currentTimeMillis();
    }/*from  www . ja v  a2s  . c  o  m*/

    return modifiedTimes.get(0);
}

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);//ww w. j  a v  a2s.  c o m
    /* 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);
        }
    }
}

From source file:jorgediazest.util.model.ModelImpl.java

License:Open Source License

protected Projection getPropertyProjection(String attribute, String op) {

    if ("rowCount".equals(op)) {
        return ProjectionFactoryUtil.rowCount();
    }// w ww  .j  a  v  a  2  s. c  om

    if (!this.hasAttribute(attribute)) {
        return null;
    }

    if (isPartOfPrimaryKeyMultiAttribute(attribute)) {
        attribute = "primaryKey." + attribute;
    }

    Projection property = null;

    if (Validator.isNull(op)) {
        property = ProjectionFactoryUtil.property(attribute);
    } else if ("count".equals(op)) {
        property = ProjectionFactoryUtil.count(attribute);
    } else if ("countDistinct".equals(op)) {
        property = ProjectionFactoryUtil.countDistinct(attribute);
    } else if ("groupProperty".equals(op)) {
        property = ProjectionFactoryUtil.groupProperty(attribute);
    } else if ("max".equals(op)) {
        property = ProjectionFactoryUtil.max(attribute);
    } else if ("min".equals(op)) {
        property = ProjectionFactoryUtil.min(attribute);
    } else if ("sum".equals(op)) {
        property = ProjectionFactoryUtil.sum(attribute);
    }

    return property;
}