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

Commit b2c0475

Browse files
committed
revise logic for populating platforms and technologies
1 parent cf99206 commit b2c0475

File tree

8 files changed

+58
-30
lines changed

8 files changed

+58
-30
lines changed

src/main/java/com/appirio/service/challengefeeder/api/challengelisting/ChallengeListingData.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,6 @@ public class ChallengeListingData extends IdentifiableData {
6565
@Getter
6666
@Setter
6767
private List<String> technologies;
68-
69-
/**
70-
* The technologiesStr field
71-
*/
72-
@Getter
73-
@Setter
74-
private String technologiesStr;
7568

7669
/**
7770
* The status field
@@ -170,13 +163,6 @@ public class ChallengeListingData extends IdentifiableData {
170163
@Getter
171164
@Setter
172165
private List<String> platforms;
173-
174-
/**
175-
* The platformsStr field
176-
*/
177-
@Getter
178-
@Setter
179-
private String platformsStr;
180166

181167
/**
182168
* The numberOfCheckpointPrizes field

src/main/java/com/appirio/service/challengefeeder/dao/ChallengeFeederDAO.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,22 @@ public interface ChallengeFeederDAO {
202202
*/
203203
@SqlQueryFile("sql/challenge-feeder/get_challenge_pointsPrize.sql")
204204
List<PrizeData> getPointsPrize(@ApiQueryInput QueryParameter queryParameter);
205+
206+
/**
207+
* Get challenge technologies
208+
*
209+
* @param queryParameter the queryParameter to use
210+
* @return the List<Map<String,Object>> result
211+
*/
212+
@SqlQueryFile("sql/challenge-feeder/get_challenge_technologies.sql")
213+
List<Map<String, Object>> getChallengeTechnologies(@ApiQueryInput QueryParameter queryParameter);
214+
215+
/**
216+
* Get challenge plagforms
217+
*
218+
* @param queryParameter the queryParameter to use
219+
* @return the List<Map<String,Object>> result
220+
*/
221+
@SqlQueryFile("sql/challenge-feeder/get_challenge_plagforms.sql")
222+
List<Map<String, Object>> getChallengePlagforms(@ApiQueryInput QueryParameter queryParameter);
205223
}

src/main/java/com/appirio/service/challengefeeder/manager/ChallengeListingFeederManager.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,31 @@ public void pushChallengeFeeder(ChallengeFeederParam param) throws SupplyExcepti
162162

163163
List<Map<String, Object>> checkpointsSubmissions = this.challengeListingFeederDAO.getCheckpointsSubmissions(queryParameter);
164164
List<Map<String, Object>> groupIds = this.challengeFeederDAO.getGroupIds(queryParameter);
165-
166165
List<UserIdData> userIds = this.challengeListingFeederDAO.getChallengeUserIds(queryParameter);
167166
associateAllUserIds(challenges, userIds);
167+
168+
List<Map<String, Object>> platforms = this.challengeFeederDAO.getChallengePlagforms(queryParameter);
169+
for (Map<String, Object> item : platforms) {
170+
for (ChallengeListingData data : challenges) {
171+
if (data.getChallengeId().longValue() == Long.parseLong(item.get("challengeId").toString())) {
172+
if (data.getPlatforms() == null) {
173+
data.setPlatforms(new ArrayList<String>());
174+
}
175+
data.getPlatforms().add(item.get("name").toString());
176+
}
177+
}
178+
}
179+
List<Map<String, Object>> technoglies = this.challengeFeederDAO.getChallengeTechnologies(queryParameter);
180+
for (Map<String, Object> item : technoglies) {
181+
for (ChallengeListingData data : challenges) {
182+
if (data.getChallengeId().longValue() == Long.parseLong(item.get("challengeId").toString())) {
183+
if (data.getTechnologies() == null) {
184+
data.setTechnologies(new ArrayList<String>());
185+
}
186+
data.getTechnologies().add(item.get("name").toString());
187+
}
188+
}
189+
}
168190

169191
// set other field
170192
for (ChallengeListingData data : challenges) {
@@ -188,17 +210,6 @@ public void pushChallengeFeeder(ChallengeFeederParam param) throws SupplyExcepti
188210
}
189211
}
190212

191-
if (data.getPlatformsStr() != null && data.getPlatformsStr().trim().length() > 0) {
192-
data.setPlatforms(Arrays.asList(data.getPlatformsStr().split(", ")));
193-
194-
}
195-
data.setPlatformsStr(null);
196-
if (data.getTechnologiesStr() != null && data.getTechnologiesStr().trim().length() > 0) {
197-
data.setTechnologies(Arrays.asList(data.getTechnologiesStr().split(", ")));
198-
199-
}
200-
data.setTechnologiesStr(null);
201-
202213
for (Map<String, Object> item : groupIds) {
203214
if (item.get("challengeId").toString().equals(data.getId().toString())) {
204215
if (data.getGroupIds() == null) {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
filter.challengeIds.template=pp.project_id in (<challengeIds>)
2+
filter.challengeIds.type=List
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
select ppl.name as name, pp.project_id as challengeId
2+
from project_platform_lu ppl
3+
inner join project_platform pp
4+
on ppl.project_platform_id = pp.project_platform_id
5+
where {filter}
6+
order by ppl.name
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
filter.challengeIds.template=p.project_id in (<challengeIds>)
2+
filter.challengeIds.type=List
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
select tt.technology_name as name, p.project_id as challengeId
2+
from comp_technology ct
3+
left join technology_types tt on ct.technology_type_id = tt.technology_type_id
4+
left join project_info pi1 on pi1.value = ct.comp_vers_id and pi1.project_info_type_id = 1
5+
left join project p on p.project_id = pi1.project_id
6+
where {filter}
7+
order by tt.technology_name

src/main/resources/sql/challenge-feeder/get_challenges_listing.sql

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ SELECT
1919
END AS track,
2020
pcl.description AS subTrack,
2121
pstatus.NAME AS status,
22-
Technology_list(pi1.value) AS technologiesStr,
23-
Platform_list(p.project_id) AS platformsStr,
2422
Nvl(pp1.actual_start_time, pp1.scheduled_start_time) AS registrationStartDate,
2523
Nvl(pp1.actual_end_time, pp1.scheduled_end_time) AS registrationEndDate,
2624
Nvl(pp2.actual_end_time, pp2.scheduled_end_time) AS submissionEndDate,
@@ -102,8 +100,6 @@ SELECT
102100
AND pp2.phase_type_id = 2
103101
INNER JOIN project_info pn ON pn.project_id = p.project_id
104102
AND pn.project_info_type_id = 6
105-
INNER JOIN project_info pi1 ON pi1.project_id = p.project_id
106-
AND pi1.project_info_type_id = 1
107103
LEFT JOIN TCS_CATALOG\:project_info AS forum_id_info ON forum_id_info.project_id = p.project_id
108104
AND forum_id_info.project_info_type_id = 4
109105
LEFT JOIN TCS_CATALOG\:project_info AS review_type_info ON review_type_info.project_id = p.project_id

0 commit comments

Comments
 (0)