001
014
015 package com.liferay.portlet.dynamicdatamapping.service.impl;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.exception.PortalException;
020 import com.liferay.portal.kernel.util.ListUtil;
021 import com.liferay.portal.kernel.util.OrderByComparator;
022 import com.liferay.portlet.dynamicdatamapping.NoSuchTemplateVersionException;
023 import com.liferay.portlet.dynamicdatamapping.model.DDMTemplateVersion;
024 import com.liferay.portlet.dynamicdatamapping.service.base.DDMTemplateVersionLocalServiceBaseImpl;
025 import com.liferay.portlet.dynamicdatamapping.util.comparator.TemplateVersionVersionComparator;
026
027 import java.util.Collections;
028 import java.util.List;
029
030
033 @ProviderType
034 public class DDMTemplateVersionLocalServiceImpl
035 extends DDMTemplateVersionLocalServiceBaseImpl {
036
037 @Override
038 public DDMTemplateVersion getLatestTemplateVersion(long templateId)
039 throws PortalException {
040
041 List<DDMTemplateVersion> templateVersions =
042 ddmTemplateVersionPersistence.findByTemplateId(templateId);
043
044 if (templateVersions.isEmpty()) {
045 throw new NoSuchTemplateVersionException(
046 "No template versions found for template ID " + templateId);
047 }
048
049 templateVersions = ListUtil.copy(templateVersions);
050
051 Collections.sort(
052 templateVersions, new TemplateVersionVersionComparator());
053
054 return templateVersions.get(0);
055 }
056
057 @Override
058 public DDMTemplateVersion getTemplateVersion(long templateVersionId)
059 throws PortalException {
060
061 return ddmTemplateVersionPersistence.findByPrimaryKey(
062 templateVersionId);
063 }
064
065 @Override
066 public DDMTemplateVersion getTemplateVersion(
067 long templateId, String version)
068 throws PortalException {
069
070 return ddmTemplateVersionPersistence.findByT_V(templateId, version);
071 }
072
073 @Override
074 public List<DDMTemplateVersion> getTemplateVersions(
075 long templateId, int start, int end,
076 OrderByComparator<DDMTemplateVersion> orderByComparator) {
077
078 return ddmTemplateVersionPersistence.findByTemplateId(
079 templateId, start, end, orderByComparator);
080 }
081
082 @Override
083 public int getTemplateVersionsCount(long templateId) {
084 return ddmTemplateVersionPersistence.countByTemplateId(templateId);
085 }
086
087 }