List of usage examples for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil conjunction
public static Conjunction conjunction()
From source file:com.apstamp.liferay.service.impl.TemplateLocalServiceImpl.java
License:Open Source License
protected DynamicQuery buildTemplateDynamicQuery(long templateId, String clienteEmail, String empresaEmail, String clienteNome, String clienteEmpresa, String empresaNome, String empresaRepresentante, String projetoNome, String projetoTecnologia, String projetoTag, boolean andSearch) { Junction junction = null;/*from ww w . jav a 2 s . com*/ if (andSearch) junction = RestrictionsFactoryUtil.conjunction(); else junction = RestrictionsFactoryUtil.disjunction(); //campos do cliente if (templateId > 0) { Property property = PropertyFactoryUtil.forName("templateId"); junction.add(property.eq(Long.valueOf(templateId))); } if (Validator.isNotNull(clienteNome)) { Property property = PropertyFactoryUtil.forName("clienteNome"); String value = (new StringBuilder("%")).append(clienteNome).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(clienteEmpresa)) { Property property = PropertyFactoryUtil.forName("clienteEmpresa"); String value = (new StringBuilder("%")).append(clienteEmpresa).append("%").toString(); junction.add(property.like(value)); } //campos da empresa if (Validator.isNotNull(empresaNome)) { Property property = PropertyFactoryUtil.forName("empresaNome"); String value = (new StringBuilder("%")).append(empresaNome).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(empresaRepresentante)) { Property property = PropertyFactoryUtil.forName("empresaRepresentante"); String value = (new StringBuilder("%")).append(empresaRepresentante).append("%").toString(); junction.add(property.like(value)); } //campos projeto if (Validator.isNotNull(projetoNome)) { Property property = PropertyFactoryUtil.forName("projetoNome"); String value = (new StringBuilder("%")).append(projetoNome).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(projetoTecnologia)) { Property property = PropertyFactoryUtil.forName("projetoTecnologia"); String value = (new StringBuilder("%")).append(projetoTecnologia).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(projetoTag)) { Property property = PropertyFactoryUtil.forName("projetoTag"); String value = (new StringBuilder("%")).append(projetoTag).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(clienteEmail)) { Property property = PropertyFactoryUtil.forName("clienteEmail"); String value = (new StringBuilder("%")).append(clienteEmail).append("%").toString(); junction.add(property.like(value)); } if (Validator.isNotNull(empresaEmail)) { Property property = PropertyFactoryUtil.forName("empresaEmail"); String value = (new StringBuilder("%")).append(empresaEmail).append("%").toString(); junction.add(property.like(value)); } DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Template.class, getClassLoader()); return dynamicQuery.add(junction); }
From source file:com.commsen.liferay.multidevice.rules.service.impl.RuleLocalServiceImpl.java
License:Open Source License
/** * Returns list of rules matching the company, group, layout and user's device. * /*from w ww .j a va 2s.co m*/ * @param companyId company (instance) id * @param groupId group (community/organization) id * @param layoutId layout (page) id * @param device user's device * @action the rule action type (change theme, redirect) * @return list of rules matching the company, group, layout and user's device. */ public List<Rule> getMatchingRules(long companyId, long groupId, long layoutId, Device device) { List<Rule> result = Collections.emptyList(); // Brand and model query part Junction modelMatchesOrNull = RestrictionsFactoryUtil.disjunction(); modelMatchesOrNull.add(PropertyFactoryUtil.forName("model").eq(device.getModel())); modelMatchesOrNull.add(PropertyFactoryUtil.forName("model").isNull()); Junction brandMatchesAndModelMatchesOrNull = RestrictionsFactoryUtil.conjunction(); brandMatchesAndModelMatchesOrNull.add(PropertyFactoryUtil.forName("brand").eq(device.getBrand())); brandMatchesAndModelMatchesOrNull.add(modelMatchesOrNull); Junction brandNullOrMatchesWithModelMatchesOrNull = RestrictionsFactoryUtil.disjunction(); brandNullOrMatchesWithModelMatchesOrNull.add(PropertyFactoryUtil.forName("brand").isNull()); brandNullOrMatchesWithModelMatchesOrNull.add(brandMatchesAndModelMatchesOrNull); // Operating system query part Junction osVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction(); osVersionMatchesOrNull.add(PropertyFactoryUtil.forName("osVersion").eq(device.getOSVersion())); osVersionMatchesOrNull.add(PropertyFactoryUtil.forName("osVersion").isNull()); Junction osNameMatchesAndOsVersionMathcesOrNull = RestrictionsFactoryUtil.conjunction(); osNameMatchesAndOsVersionMathcesOrNull.add(PropertyFactoryUtil.forName("os").eq(device.getOS())); osNameMatchesAndOsVersionMathcesOrNull.add(osVersionMatchesOrNull); Junction osNameNullOrMatchesWithOsVersionMathcesOrNull = RestrictionsFactoryUtil.disjunction(); osNameNullOrMatchesWithOsVersionMathcesOrNull.add(PropertyFactoryUtil.forName("os").isNull()); osNameNullOrMatchesWithOsVersionMathcesOrNull.add(osNameMatchesAndOsVersionMathcesOrNull); // Browser query part Junction browserVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction(); browserVersionMatchesOrNull .add(PropertyFactoryUtil.forName("browserVersion").eq(device.getBrowserVersion())); browserVersionMatchesOrNull.add(PropertyFactoryUtil.forName("browserVersion").isNull()); Junction browserNameMatchesAndBrowserVersionMathcesOrNull = RestrictionsFactoryUtil.conjunction(); browserNameMatchesAndBrowserVersionMathcesOrNull .add(PropertyFactoryUtil.forName("browser").eq(device.getBrowser())); browserNameMatchesAndBrowserVersionMathcesOrNull.add(browserVersionMatchesOrNull); Junction browserNameNullOrMatchesWithBrowserVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction(); browserNameNullOrMatchesWithBrowserVersionMatchesOrNull .add(PropertyFactoryUtil.forName("browser").isNull()); browserNameNullOrMatchesWithBrowserVersionMatchesOrNull .add(browserNameMatchesAndBrowserVersionMathcesOrNull); // Pointing device query part Junction pointingMethodMatchesOrNull = RestrictionsFactoryUtil.disjunction(); pointingMethodMatchesOrNull .add(PropertyFactoryUtil.forName("pointingMethod").eq(device.getPointingMethod())); pointingMethodMatchesOrNull.add(PropertyFactoryUtil.forName("pointingMethod").isNull()); // Is tablet query part Junction tabletMatchesOrNull = RestrictionsFactoryUtil.disjunction(); tabletMatchesOrNull.add(PropertyFactoryUtil.forName("tablet").eq(Boolean.toString(device.isTablet()))); tabletMatchesOrNull.add(PropertyFactoryUtil.forName("tablet").isNull()); // Has qwerty keyboard query part Junction qwertyKeyboardMatchesOrNull = RestrictionsFactoryUtil.disjunction(); qwertyKeyboardMatchesOrNull .add(PropertyFactoryUtil.forName("qwertyKeyboad").eq(Boolean.toString(device.hasQwertyKeyboard()))); qwertyKeyboardMatchesOrNull.add(PropertyFactoryUtil.forName("qwertyKeyboad").isNull()); // Page query part Junction pageMatchesOrNull = RestrictionsFactoryUtil.disjunction(); pageMatchesOrNull.add(PropertyFactoryUtil.forName("layoutId").eq(0l)); pageMatchesOrNull.add(PropertyFactoryUtil.forName("layoutId").eq(layoutId)); DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Rule.class); dynamicQuery.add(PropertyFactoryUtil.forName("companyId").eq(companyId)); dynamicQuery.add(PropertyFactoryUtil.forName("groupId").eq(groupId)); dynamicQuery.add(pageMatchesOrNull); dynamicQuery.add(brandNullOrMatchesWithModelMatchesOrNull); dynamicQuery.add(osNameNullOrMatchesWithOsVersionMathcesOrNull); dynamicQuery.add(browserNameNullOrMatchesWithBrowserVersionMatchesOrNull); dynamicQuery.add(pointingMethodMatchesOrNull); dynamicQuery.add(tabletMatchesOrNull); dynamicQuery.add(qwertyKeyboardMatchesOrNull); dynamicQuery.addOrder(OrderFactoryUtil.desc("layoutId")); dynamicQuery.addOrder(OrderFactoryUtil.asc("priority")); try { result = RuleUtil.findWithDynamicQuery(dynamicQuery); } catch (SystemException e) { _log.error("Failed to find theme rules matching " + device, e); } return result; }
From source file:com.liferay.bbb.service.impl.BBBMeetingLocalServiceImpl.java
License:Open Source License
protected DynamicQuery buildDynamicQuery(long groupId, long userId, String name, String description, int status, boolean andSearch) { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(BBBMeeting.class, getClassLoader()); if (groupId > 0) { Property property = PropertyFactoryUtil.forName("groupId"); dynamicQuery.add(property.eq(groupId)); }/*from w w w .j av a 2s .c o m*/ if (userId > 0) { Property property = PropertyFactoryUtil.forName("userId"); dynamicQuery.add(property.eq(userId)); } if (status != BBBMeetingConstants.STATUS_ANY) { Property property = PropertyFactoryUtil.forName("status"); dynamicQuery.add(property.eq(status)); } Junction junction = null; if (andSearch) { junction = RestrictionsFactoryUtil.conjunction(); } else { junction = RestrictionsFactoryUtil.disjunction(); } if (Validator.isNotNull(name)) { Property property = PropertyFactoryUtil.forName("name"); String value = StringUtil.quote(name, StringPool.PERCENT); junction.add(property.like(value)); } if (Validator.isNotNull(description)) { Property property = PropertyFactoryUtil.forName("description"); String value = StringUtil.quote(description, StringPool.PERCENT); junction.add(property.like(value)); } dynamicQuery.add(junction); return dynamicQuery; }
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 www. java 2s.c om*/ 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();/*from w w w .ja v a 2s . c om*/ 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.lar.DeletionSystemEventExporter.java
License:Open Source License
protected void doAddCriteria(PortletDataContext portletDataContext, Set<StagedModelType> deletionSystemEventStagedModelTypes, DynamicQuery dynamicQuery) { Disjunction disjunction = RestrictionsFactoryUtil.disjunction(); Property groupIdProperty = PropertyFactoryUtil.forName("groupId"); disjunction.add(groupIdProperty.eq(0L)); disjunction.add(groupIdProperty.eq(portletDataContext.getScopeGroupId())); dynamicQuery.add(disjunction);/*from w w w.jav a 2 s .co m*/ if (!deletionSystemEventStagedModelTypes.isEmpty()) { Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); Property referrerClassNameIdProperty = PropertyFactoryUtil.forName("referrerClassNameId"); Disjunction referrerClassNameIdDisjunction = RestrictionsFactoryUtil.disjunction(); for (StagedModelType stagedModelType : deletionSystemEventStagedModelTypes) { Conjunction conjunction = RestrictionsFactoryUtil.conjunction(); conjunction.add(classNameIdProperty.eq(stagedModelType.getClassNameId())); if (stagedModelType.getReferrerClassNameId() >= 0) { conjunction.add(referrerClassNameIdProperty.eq(stagedModelType.getReferrerClassNameId())); } referrerClassNameIdDisjunction.add(conjunction); } dynamicQuery.add(referrerClassNameIdDisjunction); } Property typeProperty = PropertyFactoryUtil.forName("type"); dynamicQuery.add(typeProperty.eq(SystemEventConstants.TYPE_DELETE)); addCreateDateProperty(portletDataContext, dynamicQuery); }
From source file:com.liferay.exportimport.lar.PortletDataContextImpl.java
License:Open Source License
@Override public Criterion getDateRangeCriteria(String propertyName) { if (!hasDateRange()) { return null; }/*from w w w .jav a 2 s .c o m*/ Conjunction conjunction = RestrictionsFactoryUtil.conjunction(); Property property = PropertyFactoryUtil.forName(propertyName); conjunction.add(property.le(_endDate)); conjunction.add(property.ge(_startDate)); return conjunction; }
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 ww w . j a va 2s . c om 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//from w ww . j a va 2 s.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 . j a v a 2 s. c o 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; }