001
014
015 package com.liferay.portlet.dynamicdatamapping.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portlet.dynamicdatamapping.NoSuchStructureLinkException;
019 import com.liferay.portlet.dynamicdatamapping.model.DDMStructure;
020 import com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink;
021 import com.liferay.portlet.dynamicdatamapping.service.base.DDMStructureLinkLocalServiceBaseImpl;
022
023 import java.util.ArrayList;
024 import java.util.List;
025
026
031 public class DDMStructureLinkLocalServiceImpl
032 extends DDMStructureLinkLocalServiceBaseImpl {
033
034 @Override
035 public DDMStructureLink addStructureLink(
036 long classNameId, long classPK, long structureId) {
037
038 long structureLinkId = counterLocalService.increment();
039
040 DDMStructureLink structureLink = ddmStructureLinkPersistence.create(
041 structureLinkId);
042
043 structureLink.setClassNameId(classNameId);
044 structureLink.setClassPK(classPK);
045 structureLink.setStructureId(structureId);
046
047 ddmStructureLinkPersistence.update(structureLink);
048
049 return structureLink;
050 }
051
052 @Override
053 public void deleteStructureLink(DDMStructureLink structureLink) {
054 ddmStructureLinkPersistence.remove(structureLink);
055 }
056
057 @Override
058 public void deleteStructureLink(long structureLinkId)
059 throws PortalException {
060
061 DDMStructureLink structureLink =
062 ddmStructureLinkPersistence.findByPrimaryKey(structureLinkId);
063
064 deleteStructureLink(structureLink);
065 }
066
067 @Override
068 public void deleteStructureLink(
069 long classNameId, long classPK, long structureId)
070 throws PortalException {
071
072 DDMStructureLink structureLink =
073 ddmStructureLinkPersistence.findByC_C_S(
074 classNameId, classPK, structureId);
075
076 deleteDDMStructureLink(structureLink);
077 }
078
079 @Override
080 public void deleteStructureLinks(long classNameId, long classPK) {
081 List<DDMStructureLink> structureLinks =
082 ddmStructureLinkPersistence.findByC_C(classNameId, classPK);
083
084 for (DDMStructureLink ddmStructureLink : structureLinks) {
085 deleteStructureLink(ddmStructureLink);
086 }
087 }
088
089 @Override
090 public void deleteStructureStructureLinks(long structureId) {
091 List<DDMStructureLink> structureLinks =
092 ddmStructureLinkPersistence.findByStructureId(structureId);
093
094 for (DDMStructureLink structureLink : structureLinks) {
095 deleteStructureLink(structureLink);
096 }
097 }
098
099 @Override
100 public DDMStructureLink getStructureLink(long structureLinkId)
101 throws PortalException {
102
103 return ddmStructureLinkPersistence.findByPrimaryKey(structureLinkId);
104 }
105
106 @Override
107 public List<DDMStructureLink> getStructureLinks(long structureId) {
108 return ddmStructureLinkPersistence.findByStructureId(structureId);
109 }
110
111 @Override
112 public List<DDMStructureLink> getStructureLinks(
113 long structureId, int start, int end) {
114
115 return ddmStructureLinkPersistence.findByStructureId(
116 structureId, start, end);
117 }
118
119 @Override
120 public List<DDMStructureLink> getStructureLinks(
121 long classNameId, long classPK) {
122
123 return ddmStructureLinkPersistence.findByC_C(classNameId, classPK);
124 }
125
126 @Override
127 public List<DDMStructure> getStructureLinkStructures(
128 long classNameId, long classPK)
129 throws PortalException {
130
131 List<DDMStructure> structures = new ArrayList<>();
132
133 List<DDMStructureLink> structureLinks = getStructureLinks(
134 classNameId, classPK);
135
136 for (DDMStructureLink structureLink : structureLinks) {
137 structures.add(structureLink.getStructure());
138 }
139
140 return structures;
141 }
142
143 @Override
144 public DDMStructureLink getUniqueStructureLink(
145 long classNameId, long classPK)
146 throws PortalException {
147
148 List<DDMStructureLink> structureLinks =
149 ddmStructureLinkPersistence.findByC_C(classNameId, classPK);
150
151 if (structureLinks.isEmpty()) {
152 throw new NoSuchStructureLinkException();
153 }
154
155 return structureLinks.get(0);
156 }
157
158 @Override
159 public DDMStructureLink updateStructureLink(
160 long structureLinkId, long classNameId, long classPK,
161 long structureId)
162 throws PortalException {
163
164 DDMStructureLink structureLink =
165 ddmStructureLinkPersistence.findByPrimaryKey(structureLinkId);
166
167 structureLink.setClassNameId(classNameId);
168 structureLink.setClassPK(classPK);
169 structureLink.setStructureId(structureId);
170
171 ddmStructureLinkPersistence.update(structureLink);
172
173 return structureLink;
174 }
175
176 }