Skip to content

Commit 3a41568

Browse files
Merge pull request #119 from appirio-tech/dev
Add submissionGuidelines and fix issue with completed review opps
2 parents fc19b24 + 12184c4 commit 3a41568

File tree

10 files changed

+50
-20
lines changed

10 files changed

+50
-20
lines changed

service/src/main/java/com/appirio/service/review/api/ReviewOpportunitiesDTO.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* </li>
2222
* </ul>
2323
* </p>
24-
*
24+
*
2525
* <p>
2626
* Version 1.2 (Topcoder - Create Review Opportunity Details Endpoint v1.0)
2727
* <ul>
@@ -183,11 +183,18 @@ public class ReviewOpportunitiesDTO {
183183
@Getter
184184
@Setter
185185
private String challengePlatforms;
186-
186+
187187
/**
188188
* The detailed requirements attribute.
189189
*/
190190
@Getter
191191
@Setter
192192
private String detailedRequirements;
193-
}
193+
194+
/**
195+
* The submission guidelines attribute.
196+
*/
197+
@Getter
198+
@Setter
199+
private String finalSubmissionGuidelines;
200+
}

service/src/main/java/com/appirio/service/review/manager/ReviewOpportunitiesManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ public List<ReviewOpportunityItem> getReviewOpportunities(int challengeTypeId, Q
265265

266266
if (challengeTypeId == 0) {
267267
// challengeTypeId is not provided in query string
268-
queryParameter.setFilter(new FilterParameter(""));
268+
queryParameter.setFilter(new FilterParameter("availablePositions=0"));
269269
} else {
270270
// if challengeTypeId is in query string
271271
// double check if its value is valid
@@ -274,7 +274,7 @@ public List<ReviewOpportunityItem> getReviewOpportunities(int challengeTypeId, Q
274274
HttpServletResponse.SC_NOT_FOUND);
275275
}
276276

277-
queryParameter.setFilter(new FilterParameter("challenge_type_id=" + String.valueOf(challengeTypeId)));
277+
queryParameter.setFilter(new FilterParameter("challenge_type_id=" + String.valueOf(challengeTypeId) + "&availablePositions=0"));
278278
}
279279

280280
List<ReviewOpportunitiesDTO> revOpportunities = this.reviewOpportunitiesDAO.getReviewOpportunities(
@@ -815,6 +815,7 @@ private ReviewOpportunityItem convertReviewOpportunitiesDTO(ReviewOpportunitiesD
815815

816816
if (returnDetailedRequirements) {
817817
challenge.put("detailedRequirements", dto.getDetailedRequirements());
818+
challenge.put("finalSubmissionGuidelines", dto.getFinalSubmissionGuidelines());
818819
}
819820
item.setChallenge(challenge);
820821

service/src/main/resources/sql/review-opportunities/get-review-opportunities.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@ filter.challenge_type_id.template=challenge_type_id = :challenge_type_id
22
filter.challenge_type_id.type=Long
33

44
filter.challengeIds.template=challenge_id in (<challengeIds>)
5-
filter.challengeIds.type=List
5+
filter.challengeIds.type=List
6+
7+
filter.availablePositions.template=number_of_review_positions_available > :availablePositions
8+
filter.availablePositions.type=Long

service/src/main/resources/sql/review-opportunities/get-review-opportunities.sql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ base_coefficient AS baseCoefficient,
2020
incremental_coefficient AS incrementalCoefficient,
2121
prize AS prize,
2222
submission_count AS submissionCount,
23-
detailed_requirements_text as detailedRequirements
23+
detailed_requirements_text as detailedRequirements,
24+
final_submission_guidelines_text as finalSubmissionGuidelines
2425
FROM (
2526
SELECT
2627
ra.review_auction_id
@@ -62,6 +63,7 @@ SELECT
6263
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
6364
END AS submission_count
6465
, pspec.detailed_requirements_text
66+
, pspec.final_submission_guidelines_text
6567
FROM review_auction ra
6668
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=1
6769
INNER JOIN project p ON p.project_id=ra.project_id
@@ -122,6 +124,7 @@ SELECT
122124
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
123125
END AS submission_count
124126
, pspec.detailed_requirements_text
127+
, pspec.final_submission_guidelines_text
125128
FROM review_auction ra
126129
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=2
127130
INNER JOIN project p ON p.project_id=ra.project_id
@@ -187,6 +190,7 @@ SELECT
187190
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
188191
END AS submission_count
189192
, pspec.detailed_requirements_text
193+
, pspec.final_submission_guidelines_text
190194
FROM review_auction ra
191195
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=3
192196
INNER JOIN project p ON p.project_id=ra.project_id
@@ -211,4 +215,4 @@ AND pp18.phase_status_id IN (1,2)
211215
AND not exists (SELECT 1 FROM project_phase pp12 WHERE pp12.project_id=p.project_id AND pp12.phase_type_id=12)
212216
AND dpp.resource_role_id = 21
213217
)
214-
WHERE {filter} and number_of_review_positions_available > 0;
218+
WHERE {filter};

service/src/test/java/com/appirio/service/test/dao/ReviewOpportunitiesDAOTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ public void before() throws SupplyException {
5656

5757
ReviewOpportunitiesDTO dto1 = new ReviewOpportunitiesDTO(1L, 5, 30005520L, 0, TestHelper.toDate("2017-12-17 22:21:00.000"),
5858
TestHelper.toDate("2017-12-19 22:21:00.000"), 2, "Code", 39, "Contest Review", "Code1", "1.0", 9L, 4L, 0.00, 0.13,
59-
0.05, 350.0, 0, "Java, JavaScript", "NodeJS, Other", "detailed requirement1");
59+
0.05, 350.0, 0, "Java, JavaScript", "NodeJS, Other", "detailed requirement1", "submission guidelines1");
6060
ReviewOpportunitiesDTO dto2 = new ReviewOpportunitiesDTO(2L, 4, 30005521L, 0, TestHelper.toDate("2017-12-12 22:32:02.583"),
6161
TestHelper.toDate("2017-12-13 22:32:00.0"), 1, "First2Finish", 38, "Iterative Review", "F2FRev", "1.0", 8L, 21L, 0.00,
62-
0.02, 0.04, 800.0, 0, "ActionScript, Active Directory", "Beanstalk, Brivo Labs", "detailed requirement1");
62+
0.02, 0.04, 800.0, 0, "ActionScript, Active Directory", "Beanstalk, Brivo Labs", "detailed requirement1", "submission guidelines1");
6363

6464
reviewOpportunitiesDTOs.add(dto1);
6565
reviewOpportunitiesDTOs.add(dto2);

service/src/test/java/com/appirio/service/test/manager/ReviewOpportunitiesManagerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@ public void before() throws SupplyException {
120120
// prepare some review opportunities data
121121
ReviewOpportunitiesDTO dto1 = new ReviewOpportunitiesDTO(1L, 5, 30005520L, 0, TestHelper.toDate(
122122
"2017-12-17 22:21:00.000"), TestHelper.toDate("2017-12-19 22:21:00.000"), 2, "Code", 39, "Contest Review",
123-
"Code1", "1.0", 9L, 4L, 0.00, 0.13, 0.05, 350.0, 0, "Java, JavaScript", "NodeJS, Other", "detailedRequirement1");
123+
"Code1", "1.0", 9L, 4L, 0.00, 0.13, 0.05, 350.0, 0, "Java, JavaScript", "NodeJS, Other", "detailedRequirement1", "submission guidelines1");
124124
ReviewOpportunitiesDTO dto2 = new ReviewOpportunitiesDTO(2L, 4, 30005521L, 0, TestHelper.toDate(
125125
"2017-12-12 22:32:02.583"), TestHelper.toDate("2017-12-13 22:32:00.0"), 1, "First2Finish", 38,
126126
"Iterative Review", "F2FRev", "1.0", 8L, 21L, 0.00, 0.02, 0.04, 800.0, 0, "ActionScript, Active Directory",
127-
"Beanstalk, Brivo Labs", "detailedRequirement2");
127+
"Beanstalk, Brivo Labs", "detailedRequirement2", "submission guidelines2");
128128
ReviewOpportunitiesDTO dto3 = new ReviewOpportunitiesDTO(3L, 3, 30005530L, 0, TestHelper.toDate(
129129
"2017-12-14 19:40:23.546"), TestHelper.toDate("2017-12-14 21:40:00.000"), 1, "Assembly Competition", 14,
130-
"Spec Review", "Assembly1", "1.0", 1L, 18L, 50.00, 0.0, 0.0, 1400.0, 0, "JavaScript", "Facebook, Google", "detailedRequirement3");
130+
"Spec Review", "Assembly1", "1.0", 1L, 18L, 50.00, 0.0, 0.0, 1400.0, 0, "JavaScript", "Facebook, Google", "detailedRequirement3", "submission guidelines3");
131131

132132
data.add(dto1);
133133
data.add(dto2);
@@ -179,7 +179,7 @@ public void before() throws SupplyException {
179179
Map<String, Object> ct = new HashMap<>();
180180
ct.put("ct", new BigDecimal(1));
181181
Mockito.when(dao.allowToReviewChallenge(Mockito.anyLong(), Mockito.anyLong())).thenReturn(ct);
182-
182+
183183
// prepare some group permissions
184184
List<Map<String, Object>> groupPerms = new ArrayList<Map<String, Object>>();
185185
Map<String, Object> groupPerm1 = new HashMap<String, Object>();

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-all-query.sql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ base_coefficient AS baseCoefficient,
2020
incremental_coefficient AS incrementalCoefficient,
2121
prize AS prize,
2222
submission_count AS submissionCount,
23-
detailed_requirements_text as detailedRequirements
23+
detailed_requirements_text as detailedRequirements,
24+
final_submission_guidelines_text as finalSubmissionGuidelines
2425
FROM (
2526
SELECT
2627
ra.review_auction_id
@@ -62,6 +63,7 @@ SELECT
6263
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
6364
END AS submission_count
6465
, pspec.detailed_requirements_text
66+
, pspec.final_submission_guidelines_text
6567
FROM review_auction ra
6668
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=1
6769
INNER JOIN project p ON p.project_id=ra.project_id
@@ -122,6 +124,7 @@ SELECT
122124
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
123125
END AS submission_count
124126
, pspec.detailed_requirements_text
127+
, pspec.final_submission_guidelines_text
125128
FROM review_auction ra
126129
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=2
127130
INNER JOIN project p ON p.project_id=ra.project_id
@@ -187,6 +190,7 @@ SELECT
187190
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
188191
END AS submission_count
189192
, pspec.detailed_requirements_text
193+
, pspec.final_submission_guidelines_text
190194
FROM review_auction ra
191195
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=3
192196
INNER JOIN project p ON p.project_id=ra.project_id
@@ -211,4 +215,4 @@ AND pp18.phase_status_id IN (1,2)
211215
AND not exists (SELECT 1 FROM project_phase pp12 WHERE pp12.project_id=p.project_id AND pp12.phase_type_id=12)
212216
AND dpp.resource_role_id = 21
213217
)
214-
WHERE 1=1 and number_of_review_positions_available > 0;
218+
WHERE 1=1;

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-challenge-id-query.sql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ base_coefficient AS baseCoefficient,
2020
incremental_coefficient AS incrementalCoefficient,
2121
prize AS prize,
2222
submission_count AS submissionCount,
23-
detailed_requirements_text as detailedRequirements
23+
detailed_requirements_text as detailedRequirements,
24+
final_submission_guidelines_text as finalSubmissionGuidelines
2425
FROM (
2526
SELECT
2627
ra.review_auction_id
@@ -62,6 +63,7 @@ SELECT
6263
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
6364
END AS submission_count
6465
, pspec.detailed_requirements_text
66+
, pspec.final_submission_guidelines_text
6567
FROM review_auction ra
6668
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=1
6769
INNER JOIN project p ON p.project_id=ra.project_id
@@ -122,6 +124,7 @@ SELECT
122124
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
123125
END AS submission_count
124126
, pspec.detailed_requirements_text
127+
, pspec.final_submission_guidelines_text
125128
FROM review_auction ra
126129
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=2
127130
INNER JOIN project p ON p.project_id=ra.project_id
@@ -187,6 +190,7 @@ SELECT
187190
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
188191
END AS submission_count
189192
, pspec.detailed_requirements_text
193+
, pspec.final_submission_guidelines_text
190194
FROM review_auction ra
191195
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=3
192196
INNER JOIN project p ON p.project_id=ra.project_id
@@ -211,4 +215,4 @@ AND pp18.phase_status_id IN (1,2)
211215
AND not exists (SELECT 1 FROM project_phase pp12 WHERE pp12.project_id=p.project_id AND pp12.phase_type_id=12)
212216
AND dpp.resource_role_id = 21
213217
)
214-
WHERE 1=1 and challenge_id in (30005520,30005521) and number_of_review_positions_available > 0;
218+
WHERE 1=1 and challenge_id in (30005520,30005521);

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-type-query.sql

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ base_coefficient AS baseCoefficient,
2020
incremental_coefficient AS incrementalCoefficient,
2121
prize AS prize,
2222
submission_count AS submissionCount,
23-
detailed_requirements_text as detailedRequirements
23+
detailed_requirements_text as detailedRequirements,
24+
final_submission_guidelines_text as finalSubmissionGuidelines
2425
FROM (
2526
SELECT
2627
ra.review_auction_id
@@ -62,6 +63,7 @@ SELECT
6263
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
6364
END AS submission_count
6465
, pspec.detailed_requirements_text
66+
, pspec.final_submission_guidelines_text
6567
FROM review_auction ra
6668
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=1
6769
INNER JOIN project p ON p.project_id=ra.project_id
@@ -122,6 +124,7 @@ SELECT
122124
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
123125
END AS submission_count
124126
, pspec.detailed_requirements_text
127+
, pspec.final_submission_guidelines_text
125128
FROM review_auction ra
126129
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=2
127130
INNER JOIN project p ON p.project_id=ra.project_id
@@ -187,6 +190,7 @@ SELECT
187190
AND s.submission_status_id IN (1,2,3,4,6,7) AND s.submission_type_id = 1 AND up.project_id = p.project_id AND up.upload_type_id = 1)
188191
END AS submission_count
189192
, pspec.detailed_requirements_text
193+
, pspec.final_submission_guidelines_text
190194
FROM review_auction ra
191195
INNER JOIN review_auction_type_lu ratl ON ratl.review_auction_type_id=ra.review_auction_type_id AND ratl.review_auction_category_id=3
192196
INNER JOIN project p ON p.project_id=ra.project_id
@@ -211,4 +215,4 @@ AND pp18.phase_status_id IN (1,2)
211215
AND not exists (SELECT 1 FROM project_phase pp12 WHERE pp12.project_id=p.project_id AND pp12.phase_type_id=12)
212216
AND dpp.resource_role_id = 21
213217
)
214-
WHERE 1=1 and challenge_type_id = :challenge_type_id and number_of_review_positions_available > 0;
218+
WHERE 1=1 and challenge_type_id = :challenge_type_id;

swagger.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,9 @@ definitions:
11031103
detailedRequirements:
11041104
type: string
11051105
description: the details requirement of the challenge
1106+
finalSubmissionGuidelines:
1107+
type: string
1108+
description: the submission deliverables of the challenge
11061109
groupIds:
11071110
description: The group ids of the challenge
11081111
type: array

0 commit comments

Comments
 (0)