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

fix for populating challenges into ES using end point #74

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,41 +1,37 @@
{
"variables": [],
"info": {
"_postman_id": "6eee70d5-764c-428f-8c7a-136193804b81",
"name": "Implement Endpoint To Populate Elasticsearch For The Given Challenges",
"_postman_id": "7db581cc-9635-e7b3-b3ba-8f3e52254c1b",
"description": "",
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
},
"item": [
{
"name": "View challenge details via ElasticSearch",
"request": {
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532",
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"description": ""
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005550"
},
"response": [
{
"id": "5ea84ed3-bbac-42f2-b15f-e9c6e4e8fda9",
"id": "9156ce02-ba6b-41bb-8819-f7d69d7e8000",
"name": "View challenge details via ElasticSearch",
"originalRequest": {
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532",
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
}
},
"url": "http://cockpit.cloud.topcoder.com:9200/challengesdetail/challenges/30005532"
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"_postman_previewtype": "text",
"header": [
{
"name": "content-length",
Expand All @@ -51,47 +47,42 @@
}
],
"cookie": [],
"responseTime": 50,
"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}}"
}
]
},
{
"name": "View challenge listing via ElasticSearch",
"request": {
"url": "http://cockpit.cloud.topcoder.com:9200/challengeslisting/challenges/30005532",
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"description": ""
"url": "http://cockpit.cloud.topcoder.com:9200/challengeslisting/challenges/30005550"
},
"response": []
},
{
"name": "Push challenges",
"request": {
"url": "http://localhost:8083/v3/esfeeder/challenges",
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": ""
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJoZWZmYW4iLCJleHAiOjE3NjYyODkyNDYsInVzZXJJZCI6IjEzMjQ1NiIsImlhdCI6MTQ1MDkyOTI0NiwiZW1haWwiOm51bGwsImp0aSI6IjEzNjljNjAwLWUwYTEtNDUyNS1hN2M3LTU2YmU3ZDgxM2Y1MSJ9.hp5peSoj-fh3KFkskvBpfUFIcJNtsv4zIMFV-D8F3JA",
"description": ""
"value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJoZWZmYW4iLCJleHAiOjE3NjYyODkyNDYsInVzZXJJZCI6IjEzMjQ1NiIsImlhdCI6MTQ1MDkyOTI0NiwiZW1haWwiOm51bGwsImp0aSI6IjEzNjljNjAwLWUwYTEtNDUyNS1hN2M3LTU2YmU3ZDgxM2Y1MSJ9.hp5peSoj-fh3KFkskvBpfUFIcJNtsv4zIMFV-D8F3JA"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"param\": {\r\n \"index\": \"challenges\",\r\n \"type\": \"challenges\",\r\n \"challengeIds\": [30005532]\r\n }\r\n}"
"raw": "{\r\n \"param\": {\r\n \"challengeIds\": [30005550]\r\n }\r\n}"
},
"description": ""
"url": "http://localhost:8083/v4/esfeeder/challenges"
},
"response": []
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
*/
package com.appirio.service.challengefeeder.resources;

import java.util.Arrays;

import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.ws.rs.Consumes;
Expand All @@ -16,6 +14,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.appirio.service.challengefeeder.ChallengeFeederServiceConfiguration;
import com.appirio.service.challengefeeder.dto.ChallengeFeederParam;
import com.appirio.service.challengefeeder.manager.ChallengeDetailFeederManager;
import com.appirio.service.challengefeeder.manager.ChallengeListingFeederManager;
Expand Down Expand Up @@ -62,12 +61,18 @@ public class ChallengeFeederResource {
private final ChallengeDetailFeederManager challengeDetailFeederManager;


/**
* The config field.
*/
protected ChallengeFeederServiceConfiguration config;

/**
* Create ChallengeFeederResource
*/
public ChallengeFeederResource(ChallengeDetailFeederManager challengeDetailFeederManager,ChallengeListingFeederManager challengeListingFeederManager) {
public ChallengeFeederResource(ChallengeDetailFeederManager challengeDetailFeederManager,ChallengeListingFeederManager challengeListingFeederManager,ChallengeFeederServiceConfiguration config) {
this.challengeDetailFeederManager = challengeDetailFeederManager;
this.challengeListingFeederManager = challengeListingFeederManager;
this.config = config;
}

/**
Expand All @@ -84,9 +89,11 @@ public ApiResponse pushChallengeFeeders(@Valid PostPutRequest<ChallengeFeederPar
if (request == null || request.getParam() == null) {
throw new SupplyException("The request body should be provided", HttpServletResponse.SC_BAD_REQUEST);
}


String challengeListingIndexname = this.config.getJobsConfiguration().getLoadChangedChallengesListingJob().getIndexName();
request.getParam().setIndex(challengeListingIndexname);
challengeListingFeederManager.pushChallengeFeeder(request.getParam());
String challengeDetailsIndexname = this.config.getJobsConfiguration().getLoadChangedChallengesDetailJob().getIndexName();
request.getParam().setIndex(challengeDetailsIndexname);
challengeDetailFeederManager.pushChallengeFeeder(request.getParam());
return MetadataApiResponseFactory.createResponse(null);
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ public ChallengeFeederResource getResourceInstance() throws SupplyException {
this.config.getChallengeConfiguration());
final ChallengeDetailFeederManager challengeDetailFeederManager= new ChallengeDetailFeederManager(JestClientUtils.get(this.config.getJestClientConfiguration()),
DAOFactory.getInstance().createDAO(ChallengeDetailFeederDAO.class));
return new ChallengeFeederResource(challengeDetailFeederManager,challengeListingFeederManager);
return new ChallengeFeederResource(challengeDetailFeederManager,challengeListingFeederManager,config);
}
}