Skip to content

Commit a63676e

Browse files
committed
new repo impl with new dto
1 parent c876255 commit a63676e

File tree

2 files changed

+38
-16
lines changed

2 files changed

+38
-16
lines changed

src/main/java/upc/edu/gessi/repo/repository/ReviewRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import org.eclipse.rdf4j.query.TupleQueryResult;
66
import upc.edu.gessi.repo.dto.Review.ReviewDTO;
7+
import upc.edu.gessi.repo.dto.Review.ReviewFeatureDTO;
78
import upc.edu.gessi.repo.dto.Review.SentenceDTO;
89
import upc.edu.gessi.repo.dto.graph.GraphReview;
910
import upc.edu.gessi.repo.exception.Reviews.NoReviewsFoundException;
@@ -33,5 +34,5 @@ List<ReviewDTO> getReviewsByAppNameAndIdentifierWithLimit(String appName,
3334
String appIdentifier,
3435
Integer limit);
3536

36-
List<ReviewDTO> findAllByFeatures(List<String> features) throws NoReviewsFoundException;
37+
List<ReviewFeatureDTO> findAllByFeatures(List<String> features) throws NoReviewsFoundException;
3738
}

src/main/java/upc/edu/gessi/repo/repository/impl/ReviewRepositoryImpl.java

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package upc.edu.gessi.repo.repository.impl;
22

3-
import io.swagger.models.auth.In;
4-
import jdk.jshell.execution.Util;
53
import org.eclipse.rdf4j.model.IRI;
64
import org.eclipse.rdf4j.model.Statement;
75
import org.eclipse.rdf4j.model.Value;
@@ -14,26 +12,20 @@
1412
import org.eclipse.rdf4j.repository.http.HTTPRepository;
1513
import org.springframework.beans.factory.annotation.Autowired;
1614
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.*;
2117
import upc.edu.gessi.repo.dto.graph.GraphReview;
2218
import upc.edu.gessi.repo.exception.Reviews.NoReviewsFoundException;
2319
import upc.edu.gessi.repo.exception.Reviews.ReviewNotFoundException;
2420
import upc.edu.gessi.repo.repository.ReviewRepository;
25-
import upc.edu.gessi.repo.util.ExcelUtils;
2621
import upc.edu.gessi.repo.util.ReviewQueryBuilder;
2722
import upc.edu.gessi.repo.util.SchemaIRI;
2823
import upc.edu.gessi.repo.util.Utils;
2924

3025
import java.nio.charset.StandardCharsets;
3126
import java.text.ParseException;
3227
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.*;
3729

3830
@Repository
3931
public class ReviewRepositoryImpl implements ReviewRepository {
@@ -141,15 +133,15 @@ public List<ReviewDTO> findListed(final List<String> reviewIds) throws NoReviews
141133

142134

143135
@Override
144-
public List<ReviewDTO> findAllByFeatures(final List<String> features) throws NoReviewsFoundException {
136+
public List<ReviewFeatureDTO> findAllByFeatures(final List<String> features) throws NoReviewsFoundException {
145137
TupleQueryResult reviewsResult = runSparqlQuery(reviewQueryBuilder.findReviewsByFeatures(features));
146138
if (!reviewsResult.hasNext()) {
147139
throw new NoReviewsFoundException("No review was found");
148140
}
149-
List<ReviewDTO> reviewDTOs = new ArrayList<>();
141+
List<ReviewFeatureDTO> reviewDTOs = new ArrayList<>();
150142
while (reviewsResult.hasNext()) {
151-
ReviewDTO reviewDTO = getReviewDTO(reviewsResult.next());
152-
reviewDTOs.add(reviewDTO);
143+
ReviewFeatureDTO reviewFeatureDTO = getReviewFeatureDTO(reviewsResult.next());
144+
reviewDTOs.add(reviewFeatureDTO);
153145
}
154146
return reviewDTOs;
155147
}
@@ -399,6 +391,35 @@ private void commitChanges(final List<Statement> statements) {
399391
repoConnection.close();
400392
}
401393

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+
}
402423

403424

404425
private ReviewDTO getReviewDTO(final BindingSet bindings) {

0 commit comments

Comments
 (0)