Java tutorial
/** * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package br.com.prodevelopment.lapidarios.loja.service.persistence; import br.com.prodevelopment.lapidarios.loja.model.Loja; import com.liferay.portal.kernel.dao.orm.Criterion; import com.liferay.portal.kernel.dao.orm.Disjunction; import com.liferay.portal.kernel.dao.orm.DynamicQuery; import com.liferay.portal.kernel.dao.orm.Property; import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil; import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.lar.ExportImportHelperUtil; import com.liferay.portal.kernel.lar.ManifestSummary; import com.liferay.portal.kernel.lar.PortletDataContext; import com.liferay.portal.kernel.lar.StagedModelDataHandler; import com.liferay.portal.kernel.lar.StagedModelDataHandlerRegistryUtil; import com.liferay.portal.kernel.lar.StagedModelDataHandlerUtil; import com.liferay.portal.kernel.lar.StagedModelType; import com.liferay.portal.kernel.workflow.WorkflowConstants; import com.liferay.portal.util.PortalUtil; /** * @author Marcelo Melo * @generated */ public class LojaExportActionableDynamicQuery extends LojaActionableDynamicQuery { public LojaExportActionableDynamicQuery(PortletDataContext portletDataContext) throws SystemException { _portletDataContext = portletDataContext; setCompanyId(_portletDataContext.getCompanyId()); } @Override public long performCount() throws PortalException, SystemException { 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 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); } if (getStagedModelType().getReferrerClassNameId() >= 0) { Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId"); dynamicQuery.add(classNameIdProperty.eq(getStagedModelType().getReferrerClassNameId())); } Property workflowStatusProperty = PropertyFactoryUtil.forName("status"); if (_portletDataContext.isInitialPublication()) { dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH)); } else { StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil .getStagedModelDataHandler(Loja.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } protected StagedModelType getStagedModelType() { return new StagedModelType(PortalUtil.getClassNameId(Loja.class.getName())); } @Override @SuppressWarnings("unused") protected void performAction(Object object) throws PortalException, SystemException { Loja stagedModel = (Loja) object; StagedModelDataHandlerUtil.exportStagedModel(_portletDataContext, stagedModel); } private PortletDataContext _portletDataContext; }