|
1 | 1 | package upc.edu.gessi.repo.repository.impl; |
2 | 2 |
|
3 | | -import io.swagger.models.auth.In; |
4 | | -import jdk.jshell.execution.Util; |
5 | 3 | import org.eclipse.rdf4j.model.IRI; |
6 | 4 | import org.eclipse.rdf4j.model.Statement; |
7 | 5 | import org.eclipse.rdf4j.model.Value; |
|
14 | 12 | import org.eclipse.rdf4j.repository.http.HTTPRepository; |
15 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
16 | 14 | import org.springframework.stereotype.Repository; |
17 | | -import upc.edu.gessi.repo.dto.Review.FeatureDTO; |
18 | | -import upc.edu.gessi.repo.dto.Review.ReviewDTO; |
19 | | -import upc.edu.gessi.repo.dto.Review.SentenceDTO; |
20 | | -import upc.edu.gessi.repo.dto.Review.SentimentDTO; |
| 15 | +import upc.edu.gessi.repo.dto.LanguageModel.LanguageModelDTO; |
| 16 | +import upc.edu.gessi.repo.dto.Review.*; |
21 | 17 | import upc.edu.gessi.repo.dto.graph.GraphReview; |
22 | 18 | import upc.edu.gessi.repo.exception.Reviews.NoReviewsFoundException; |
23 | 19 | import upc.edu.gessi.repo.exception.Reviews.ReviewNotFoundException; |
24 | 20 | import upc.edu.gessi.repo.repository.ReviewRepository; |
25 | | -import upc.edu.gessi.repo.util.ExcelUtils; |
26 | 21 | import upc.edu.gessi.repo.util.ReviewQueryBuilder; |
27 | 22 | import upc.edu.gessi.repo.util.SchemaIRI; |
28 | 23 | import upc.edu.gessi.repo.util.Utils; |
29 | 24 |
|
30 | 25 | import java.nio.charset.StandardCharsets; |
31 | 26 | import java.text.ParseException; |
32 | 27 | import java.text.SimpleDateFormat; |
33 | | -import java.util.ArrayList; |
34 | | -import java.util.Collections; |
35 | | -import java.util.Date; |
36 | | -import java.util.List; |
| 28 | +import java.util.*; |
37 | 29 |
|
38 | 30 | @Repository |
39 | 31 | public class ReviewRepositoryImpl implements ReviewRepository { |
@@ -141,15 +133,15 @@ public List<ReviewDTO> findListed(final List<String> reviewIds) throws NoReviews |
141 | 133 |
|
142 | 134 |
|
143 | 135 | @Override |
144 | | - public List<ReviewDTO> findAllByFeatures(final List<String> features) throws NoReviewsFoundException { |
| 136 | + public List<ReviewFeatureDTO> findAllByFeatures(final List<String> features) throws NoReviewsFoundException { |
145 | 137 | TupleQueryResult reviewsResult = runSparqlQuery(reviewQueryBuilder.findReviewsByFeatures(features)); |
146 | 138 | if (!reviewsResult.hasNext()) { |
147 | 139 | throw new NoReviewsFoundException("No review was found"); |
148 | 140 | } |
149 | | - List<ReviewDTO> reviewDTOs = new ArrayList<>(); |
| 141 | + List<ReviewFeatureDTO> reviewDTOs = new ArrayList<>(); |
150 | 142 | while (reviewsResult.hasNext()) { |
151 | | - ReviewDTO reviewDTO = getReviewDTO(reviewsResult.next()); |
152 | | - reviewDTOs.add(reviewDTO); |
| 143 | + ReviewFeatureDTO reviewFeatureDTO = getReviewFeatureDTO(reviewsResult.next()); |
| 144 | + reviewDTOs.add(reviewFeatureDTO); |
153 | 145 | } |
154 | 146 | return reviewDTOs; |
155 | 147 | } |
@@ -399,6 +391,35 @@ private void commitChanges(final List<Statement> statements) { |
399 | 391 | repoConnection.close(); |
400 | 392 | } |
401 | 393 |
|
| 394 | + private ReviewFeatureDTO getReviewFeatureDTO(final BindingSet bindings) { |
| 395 | + ReviewFeatureDTO reviewFeatureDTO = new ReviewFeatureDTO(); |
| 396 | + if (existsShortReviewBinding(bindings)) { |
| 397 | + if (bindings.getBinding("id") != null && bindings.getBinding("id").getValue() != null) { |
| 398 | + String idValue = bindings.getBinding("id").getValue().stringValue(); |
| 399 | + reviewFeatureDTO.setId(idValue); |
| 400 | + } |
| 401 | + |
| 402 | + if (bindings.getBinding("text") != null && bindings.getBinding("text").getValue() != null) { |
| 403 | + String textValue = bindings.getBinding("text").getValue().stringValue(); |
| 404 | + reviewFeatureDTO.setReviewText(textValue); |
| 405 | + } |
| 406 | + |
| 407 | + } |
| 408 | + |
| 409 | + FeatureDTO featureDTO = new FeatureDTO(); |
| 410 | + if (bindings.getBinding("feature") != null && bindings.getBinding("feature").getValue() != null) { |
| 411 | + String feature = bindings.getBinding("feature").getValue().stringValue(); |
| 412 | + featureDTO.setFeature(feature); |
| 413 | + } |
| 414 | + if (bindings.getBinding("model") != null && bindings.getBinding("model").getValue() != null) { |
| 415 | + String model = bindings.getBinding("model").getValue().stringValue(); |
| 416 | + featureDTO.setLanguageModel(new LanguageModelDTO(model)); |
| 417 | + } |
| 418 | + reviewFeatureDTO.setFeatureDTOs(Collections.singletonList(featureDTO)); |
| 419 | + |
| 420 | + |
| 421 | + return reviewFeatureDTO; |
| 422 | + } |
402 | 423 |
|
403 | 424 |
|
404 | 425 | private ReviewDTO getReviewDTO(final BindingSet bindings) { |
|
0 commit comments