Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 033e390

Browse files
thiyagu06skyhit
authored andcommitted
fix for populating challenges into ES using end point (#74)
1 parent a6d2e9d commit 033e390

File tree

3 files changed

+23
-25
lines changed

3 files changed

+23
-25
lines changed

docs/Implement Endpoint To Populate Elasticsearch For The Given Challenges.postman_collection.json

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,37 @@
11
{
2-
"variables": [],
32
"info": {
3+
"_postman_id": "6eee70d5-764c-428f-8c7a-136193804b81",
44
"name": "Implement Endpoint To Populate Elasticsearch For The Given Challenges",
5-
"_postman_id": "7db581cc-9635-e7b3-b3ba-8f3e52254c1b",
6-
"description": "",
75
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
86
},
97
"item": [
108
{
119
"name": "View challenge details via ElasticSearch",
1210
"request": {
13-
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532",
1411
"method": "GET",
1512
"header": [],
1613
"body": {
1714
"mode": "raw",
1815
"raw": ""
1916
},
20-
"description": ""
17+
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005550"
2118
},
2219
"response": [
2320
{
24-
"id": "5ea84ed3-bbac-42f2-b15f-e9c6e4e8fda9",
21+
"id": "9156ce02-ba6b-41bb-8819-f7d69d7e8000",
2522
"name": "View challenge details via ElasticSearch",
2623
"originalRequest": {
27-
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532",
2824
"method": "GET",
2925
"header": [],
3026
"body": {
3127
"mode": "raw",
3228
"raw": ""
33-
}
29+
},
30+
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532"
3431
},
3532
"status": "OK",
3633
"code": 200,
3734
"_postman_previewlanguage": "json",
38-
"_postman_previewtype": "text",
3935
"header": [
4036
{
4137
"name": "content-length",
@@ -51,47 +47,42 @@
5147
}
5248
],
5349
"cookie": [],
54-
"responseTime": 50,
5550
"body": "{\"_index\":\"challengesdetail\",\"_type\":\"challenges\",\"_id\":\"30005532\",\"_version\":6,\"found\":true,\"_source\":{\"track\":\"DEVELOP\",\"subTrack\":\"ARCHITECTURE\",\"detailRequirements\":\"test\",\"finalSubmissionGuidelines\":\"test\",\"terms\":[{\"termsOfUseId\":21193,\"role\":\"Submitter\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Standard Terms for TopCoder Competitions v2.0\"},{\"termsOfUseId\":20704,\"role\":\"Primary Screener\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Reviewer terms of use text 20704\"},{\"termsOfUseId\":20704,\"role\":\"Reviewer\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Reviewer terms of use text 20704\"},{\"termsOfUseId\":20704,\"role\":\"Aggregator\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Reviewer terms of use text 20704\"},{\"termsOfUseId\":20704,\"role\":\"Final Reviewer\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Reviewer terms of use text 20704\"},{\"termsOfUseId\":20794,\"role\":\"Manager\",\"agreeabilityType\":\"Non-agreeable\",\"title\":\"Approved OR Managers - TopCoder Technical Team\"},{\"termsOfUseId\":20893,\"role\":\"Copilot\",\"agreeabilityType\":\"Non-electronically-agreeable\",\"title\":\"MSA\"},{\"termsOfUseId\":20704,\"role\":\"Specification Reviewer\",\"agreeabilityType\":\"Electronically-agreeable\",\"title\":\"Reviewer terms of use text 20704\"}],\"id\":30005532}}"
5651
}
5752
]
5853
},
5954
{
6055
"name": "View challenge listing via ElasticSearch",
6156
"request": {
62-
"url": "http://cockpit.cloud.topcoder.com:9200/challengeslisting/challenges/30005532",
6357
"method": "GET",
6458
"header": [],
6559
"body": {
6660
"mode": "raw",
6761
"raw": ""
6862
},
69-
"description": ""
63+
"url": "http://cockpit.cloud.topcoder.com:9200/challengeslisting/challenges/30005550"
7064
},
7165
"response": []
7266
},
7367
{
7468
"name": "Push challenges",
7569
"request": {
76-
"url": "http://localhost:8083/v3/esfeeder/challenges",
7770
"method": "PUT",
7871
"header": [
7972
{
8073
"key": "Content-Type",
81-
"value": "application/json",
82-
"description": ""
74+
"value": "application/json"
8375
},
8476
{
8577
"key": "Authorization",
86-
"value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJoZWZmYW4iLCJleHAiOjE3NjYyODkyNDYsInVzZXJJZCI6IjEzMjQ1NiIsImlhdCI6MTQ1MDkyOTI0NiwiZW1haWwiOm51bGwsImp0aSI6IjEzNjljNjAwLWUwYTEtNDUyNS1hN2M3LTU2YmU3ZDgxM2Y1MSJ9.hp5peSoj-fh3KFkskvBpfUFIcJNtsv4zIMFV-D8F3JA",
87-
"description": ""
78+
"value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJoZWZmYW4iLCJleHAiOjE3NjYyODkyNDYsInVzZXJJZCI6IjEzMjQ1NiIsImlhdCI6MTQ1MDkyOTI0NiwiZW1haWwiOm51bGwsImp0aSI6IjEzNjljNjAwLWUwYTEtNDUyNS1hN2M3LTU2YmU3ZDgxM2Y1MSJ9.hp5peSoj-fh3KFkskvBpfUFIcJNtsv4zIMFV-D8F3JA"
8879
}
8980
],
9081
"body": {
9182
"mode": "raw",
92-
"raw": "{\r\n \"param\": {\r\n \"index\": \"challenges\",\r\n \"type\": \"challenges\",\r\n \"challengeIds\": [30005532]\r\n }\r\n}"
83+
"raw": "{\r\n \"param\": {\r\n \"challengeIds\": [30005550]\r\n }\r\n}"
9384
},
94-
"description": ""
85+
"url": "http://localhost:8083/v4/esfeeder/challenges"
9586
},
9687
"response": []
9788
}

src/main/java/com/appirio/service/challengefeeder/resources/ChallengeFeederResource.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
*/
44
package com.appirio.service.challengefeeder.resources;
55

6-
import java.util.Arrays;
7-
86
import javax.servlet.http.HttpServletResponse;
97
import javax.validation.Valid;
108
import javax.ws.rs.Consumes;
@@ -16,6 +14,7 @@
1614
import org.slf4j.Logger;
1715
import org.slf4j.LoggerFactory;
1816

17+
import com.appirio.service.challengefeeder.ChallengeFeederServiceConfiguration;
1918
import com.appirio.service.challengefeeder.dto.ChallengeFeederParam;
2019
import com.appirio.service.challengefeeder.manager.ChallengeDetailFeederManager;
2120
import com.appirio.service.challengefeeder.manager.ChallengeListingFeederManager;
@@ -62,12 +61,18 @@ public class ChallengeFeederResource {
6261
private final ChallengeDetailFeederManager challengeDetailFeederManager;
6362

6463

64+
/**
65+
* The config field.
66+
*/
67+
protected ChallengeFeederServiceConfiguration config;
68+
6569
/**
6670
* Create ChallengeFeederResource
6771
*/
68-
public ChallengeFeederResource(ChallengeDetailFeederManager challengeDetailFeederManager,ChallengeListingFeederManager challengeListingFeederManager) {
72+
public ChallengeFeederResource(ChallengeDetailFeederManager challengeDetailFeederManager,ChallengeListingFeederManager challengeListingFeederManager,ChallengeFeederServiceConfiguration config) {
6973
this.challengeDetailFeederManager = challengeDetailFeederManager;
7074
this.challengeListingFeederManager = challengeListingFeederManager;
75+
this.config = config;
7176
}
7277

7378
/**
@@ -84,9 +89,11 @@ public ApiResponse pushChallengeFeeders(@Valid PostPutRequest<ChallengeFeederPar
8489
if (request == null || request.getParam() == null) {
8590
throw new SupplyException("The request body should be provided", HttpServletResponse.SC_BAD_REQUEST);
8691
}
87-
88-
92+
String challengeListingIndexname = this.config.getJobsConfiguration().getLoadChangedChallengesListingJob().getIndexName();
93+
request.getParam().setIndex(challengeListingIndexname);
8994
challengeListingFeederManager.pushChallengeFeeder(request.getParam());
95+
String challengeDetailsIndexname = this.config.getJobsConfiguration().getLoadChangedChallengesDetailJob().getIndexName();
96+
request.getParam().setIndex(challengeDetailsIndexname);
9097
challengeDetailFeederManager.pushChallengeFeeder(request.getParam());
9198
return MetadataApiResponseFactory.createResponse(null);
9299
} catch (Exception e) {

src/main/java/com/appirio/service/resourcefactory/ChallengeFeederFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@ public ChallengeFeederResource getResourceInstance() throws SupplyException {
5757
this.config.getChallengeConfiguration());
5858
final ChallengeDetailFeederManager challengeDetailFeederManager= new ChallengeDetailFeederManager(JestClientUtils.get(this.config.getJestClientConfiguration()),
5959
DAOFactory.getInstance().createDAO(ChallengeDetailFeederDAO.class));
60-
return new ChallengeFeederResource(challengeDetailFeederManager,challengeListingFeederManager);
60+
return new ChallengeFeederResource(challengeDetailFeederManager,challengeListingFeederManager,config);
6161
}
6262
}

0 commit comments

Comments
 (0)