|
9 | 9 | import java.util.Locale; |
10 | 10 | import java.util.Map; |
11 | 11 | import java.util.Set; |
12 | | -import java.util.stream.Collectors; |
13 | 12 |
|
14 | 13 | import com.fasterxml.jackson.databind.JsonNode; |
15 | 14 | import com.fasterxml.jackson.databind.ObjectMapper; |
@@ -178,28 +177,20 @@ private HttpStatus sendToDataCite(JsonNode payload) { |
178 | 177 | public JsonNode getDataCiteMetadataForProject(DataAcquisitionProject project) throws DataCiteMetadataException { |
179 | 178 | Map<String, Object> attrObj = null; |
180 | 179 | if (project.getConfiguration().getRequirements().isDataPackagesRequired()) { |
181 | | - final var dataPackages = this.dataPackageRepository.findByDataAcquisitionProjectId(project.getId()); |
182 | | - if (dataPackages.isEmpty()) { |
| 180 | + final var dataPackage = this.dataPackageRepository.findOneByDataAcquisitionProjectId(project.getId()); |
| 181 | + if (dataPackage == null) { |
183 | 182 | throw new DataCiteMetadataException( |
184 | 183 | String.format("The project with id '%s' has no data package linked to it.", project.getId())); |
185 | | - } else if (dataPackages.size() > 1) { |
186 | | - throw new DataCiteMetadataException( |
187 | | - String.format("The project with id '%s' has more than one data package linked to it.", project.getId())); |
188 | 184 | } |
189 | | - final DataPackage dataPackage = dataPackages.get(0); |
190 | 185 | final List<Survey> surveys = this.surveyRepository.findByDataAcquisitionProjectId(project.getId()); |
191 | 186 | attrObj = this.createAttrObjectForDataPackage(project, dataPackage, surveys); |
192 | 187 | } else if (project.getConfiguration().getRequirements().isAnalysisPackagesRequired()) { |
193 | | - final var analysisPackages = this.analysisPackageRepository |
194 | | - .findByDataAcquisitionProjectIdAndShadowIsTrue(project.getId()).collect(Collectors.toList()); |
195 | | - if (analysisPackages.isEmpty()) { |
| 188 | + final var analysisPackage = this.analysisPackageRepository |
| 189 | + .findOneByDataAcquisitionProjectId(project.getId()); |
| 190 | + if (analysisPackage == null) { |
196 | 191 | throw new DataCiteMetadataException( |
197 | 192 | String.format("The project with id '%s' has no analysis package linked to it.", project.getId())); |
198 | | - } else if (analysisPackages.size() > 1) { |
199 | | - throw new DataCiteMetadataException( |
200 | | - String.format("The project with id '%s' has more than one analysis package linked to it.", project.getId())); |
201 | 193 | } |
202 | | - final AnalysisPackage analysisPackage = analysisPackages.get(0); |
203 | 194 | attrObj = this.createAttrObjectForAnalysisPackage(project, analysisPackage); |
204 | 195 | } |
205 | 196 |
|
|
0 commit comments