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

Commit f7ffe1c

Browse files
authored
Merge pull request #433 from appirio-tech/dev
Fix For Null Case Of Enable Effort Hours Configuration
2 parents d98a555 + 8fdcf2f commit f7ffe1c

File tree

25 files changed

+187
-156
lines changed

25 files changed

+187
-156
lines changed

services/client_project_entities_dao/src/java/main/com/topcoder/clients/model/Client.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public class Client extends AuditableEntity {
112112
* </p>
113113
*/
114114
@Column(name = "enable_effort_hours")
115-
private boolean enableEffortHours;
115+
private Boolean enableEffortHours;
116116

117117
/**
118118
* <p>
@@ -381,7 +381,7 @@ public void setStartDate(Date startDate) {
381381
*
382382
* @return whether this client enabled effort hours.
383383
*/
384-
public boolean isEffortHoursEnabled() {
384+
public Boolean isEffortHoursEnabled() {
385385
return this.enableEffortHours;
386386
}
387387

@@ -391,7 +391,7 @@ public boolean isEffortHoursEnabled() {
391391
* @param enableEffortHours
392392
* whether this client enabled effort hours.
393393
*/
394-
public void setEnableEffortHours(boolean enableEffortHours) {
394+
public void setEnableEffortHours(Boolean enableEffortHours) {
395395
this.enableEffortHours = enableEffortHours;
396396
}
397397
}

services/contest_service_facade/src/java/main/com/topcoder/service/facade/contest/ejb/ContestServiceFacadeBean.java

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2470,45 +2470,45 @@ private SoftwareContestPaymentResult processContestSaleInternal(TCSubject tcSubj
24702470
if (competition.getProjectHeader().getProjectCategory().getProjectType().getId() != ProjectType.STUDIO.getId()) {
24712471
// software competition
24722472
if (contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY) != null
2473-
&& !((String)contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY)).equals(""))
2473+
&& !(contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY)).equals(""))
24742474
{
2475-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY));
2475+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY));
24762476
}
24772477

24782478
if (contest.getProperty(ProjectPropertyType.FIRST_PLACE_COST_PROJECT_PROPERTY_KEY) != null
2479-
&& !((String)contest.getProperty(ProjectPropertyType.FIRST_PLACE_COST_PROJECT_PROPERTY_KEY)).equals(""))
2479+
&& !(contest.getProperty(ProjectPropertyType.FIRST_PLACE_COST_PROJECT_PROPERTY_KEY)).equals(""))
24802480
{
2481-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.FIRST_PLACE_COST_PROJECT_PROPERTY_KEY));
2481+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.FIRST_PLACE_COST_PROJECT_PROPERTY_KEY));
24822482
}
24832483

24842484
if (contest.getProperty(ProjectPropertyType.SECOND_PLACE_COST_PROJECT_PROPERTY_KEY) != null
2485-
&& !((String)contest.getProperty(ProjectPropertyType.SECOND_PLACE_COST_PROJECT_PROPERTY_KEY)).equals(""))
2485+
&& !(contest.getProperty(ProjectPropertyType.SECOND_PLACE_COST_PROJECT_PROPERTY_KEY)).equals(""))
24862486
{
2487-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.SECOND_PLACE_COST_PROJECT_PROPERTY_KEY));
2487+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.SECOND_PLACE_COST_PROJECT_PROPERTY_KEY));
24882488
}
24892489

24902490
if (contest.getProperty(ProjectPropertyType.CHECKPOINT_BONUS_COST_PROJECT_PROPERTY_KEY) != null
2491-
&& !((String)contest.getProperty(ProjectPropertyType.CHECKPOINT_BONUS_COST_PROJECT_PROPERTY_KEY)).equals(""))
2491+
&& !(contest.getProperty(ProjectPropertyType.CHECKPOINT_BONUS_COST_PROJECT_PROPERTY_KEY)).equals(""))
24922492
{
2493-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.CHECKPOINT_BONUS_COST_PROJECT_PROPERTY_KEY));
2493+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.CHECKPOINT_BONUS_COST_PROJECT_PROPERTY_KEY));
24942494
}
24952495

24962496
if (contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY) != null
2497-
&& !((String)contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
2497+
&& !(contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
24982498
{
2499-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY));
2499+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY));
25002500
}
25012501

25022502
if (contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY) != null
2503-
&& !((String)contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
2503+
&& !(contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
25042504
{
2505-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY));
2505+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY));
25062506
}
25072507

25082508
if (contest.getProperty(ProjectPropertyType.RELIABILITY_BONUS_COST_PROJECT_PROPERTY_KEY) != null
2509-
&& !((String)contest.getProperty(ProjectPropertyType.RELIABILITY_BONUS_COST_PROJECT_PROPERTY_KEY)).equals(""))
2509+
&& !(contest.getProperty(ProjectPropertyType.RELIABILITY_BONUS_COST_PROJECT_PROPERTY_KEY)).equals(""))
25102510
{
2511-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.RELIABILITY_BONUS_COST_PROJECT_PROPERTY_KEY));
2511+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.RELIABILITY_BONUS_COST_PROJECT_PROPERTY_KEY));
25122512
}
25132513

25142514
// checkpoint prizes
@@ -2523,21 +2523,21 @@ private SoftwareContestPaymentResult processContestSaleInternal(TCSubject tcSubj
25232523
// studio competition
25242524

25252525
if (contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY) != null
2526-
&& !((String)contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY)).equals(""))
2526+
&& !(contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY)).equals(""))
25272527
{
2528-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY));
2528+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY));
25292529
}
25302530

25312531
if (contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY) != null
2532-
&& !((String)contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
2532+
&& !(contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
25332533
{
2534-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY));
2534+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.SPEC_REVIEW_COSTS_PROJECT_PROPERTY_KEY));
25352535
}
25362536

25372537
if (contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY) != null
2538-
&& !((String)contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
2538+
&& !(contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY)).equals(""))
25392539
{
2540-
totalFee += Double.parseDouble((String) contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY));
2540+
totalFee += Double.parseDouble(contest.getProperty(ProjectPropertyType.REVIEW_COSTS_PROJECT_PROPERTY_KEY));
25412541
}
25422542

25432543
for (Prize prize : competition.getProjectHeader().getPrizes()) {
@@ -2567,7 +2567,10 @@ private SoftwareContestPaymentResult processContestSaleInternal(TCSubject tcSubj
25672567
double totalCost = totalFee;
25682568
double totalMemberCost = totalFee;
25692569

2570-
totalMemberCost = totalMemberCost - Double.parseDouble((String) contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY));
2570+
String adminFee = contest.getProperty(ProjectPropertyType.ADMIN_FEE_PROJECT_PROPERTY_KEY);
2571+
if (adminFee != null && adminFee.trim().length() != 0) {
2572+
totalMemberCost = totalMemberCost - Double.parseDouble(adminFee);
2573+
}
25712574

25722575
if (paymentData instanceof TCPurhcaseOrderPaymentData) {
25732576

@@ -5956,7 +5959,7 @@ public SoftwareCompetition getSoftwareContestByProjectId(TCSubject tcSubject, lo
59565959
try {
59575960
Client client = projectService.getClientByProject(fullProjectData.getProjectHeader().getTcDirectProjectId());
59585961
if (client != null) {
5959-
effortHoursEnabled = client.isEffortHoursEnabled();
5962+
effortHoursEnabled = client.isEffortHoursEnabled() == null ? false : client.isEffortHoursEnabled();
59605963
}
59615964

59625965
} catch (PersistenceFault e) {

services/project_services/src/java/main/com/topcoder/project/service/impl/ProjectServicesImpl.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@
247247
* Changes in v1.4.4 (TC Direct Release Assembly 7)
248248
* - add method updateContestSale for updating contest sale.
249249
* </p>
250-
*
250+
*
251251
* <p>
252252
* Version 1.4.4 (TC Direct Replatforming Release 1) Change notes:
253253
* <ul>
@@ -258,7 +258,7 @@
258258
* <li>Add {@link #getAllFileTypes()} method.</li>
259259
* </ul>
260260
* </p>
261-
*
261+
*
262262
* <p>
263263
* Version 1.4.5 (TC Direct Replatforming Release 2) Change notes:
264264
* <ul>
@@ -315,7 +315,7 @@
315315
* software checkpoint management.
316316
* </li></ol>
317317
* </p>
318-
*
318+
*
319319
* <p>
320320
* Version 1.4.10 (Release Assembly - TC Direct Issue Tracking Tab Update Assembly 2 v1.0) change notes:
321321
* <ol>
@@ -327,7 +327,7 @@
327327
* Version 1.4.11 (Module Assembly - TC Cockpit - Studio - Final Fixes Integration Part One Assembly) Change notes:
328328
* <ol>
329329
* <li>Added {@link #getReviewsByPhase(long, long)} method.</li>
330-
* <li>Updated {@link #updateProject(Project, String, com.topcoder.project.phases.Project, Resource[], Date, String)}
330+
* <li>Updated {@link #updateProject(Project, String, com.topcoder.project.phases.Project, Resource[], Date, String)}
331331
* and {@link #createProjectWithTemplate(Project, com.topcoder.project.phases.Project, Resource[], String)} methods
332332
* to properly maintain the Approval phase for Studio contests.</li>
333333
* </ol>
@@ -442,9 +442,9 @@
442442
* </p>
443443
*
444444
* <p>
445-
* Version 2.6 (Topcoder - Add effort hours field)
445+
* Version 2.6 (Topcoder - Add effort days field)
446446
* <ul>
447-
* <li>Add enable effort hours</li>
447+
* <li>Add enable effort days</li>
448448
* </ul>
449449
* </p>
450450
*
@@ -1839,7 +1839,7 @@ public FullProjectData updateProject(Project projectHeader, String projectHeader
18391839
* @since 1.4.7
18401840
*/
18411841
public FullProjectData updateProject(Project projectHeader, String projectHeaderReason,
1842-
com.topcoder.project.phases.Project projectPhases, Resource[] projectResources,
1842+
com.topcoder.project.phases.Project projectPhases, Resource[] projectResources,
18431843
Date regEndDate, Date multiRoundEndDate, Date endDate, String operator) {
18441844
Util.log(logger, Level.INFO, "Enters ProjectServicesImpl#updateProject method.");
18451845

@@ -2790,7 +2790,7 @@ public FullProjectData createProjectWithTemplate(Project projectHeader, com.topc
27902790
if (regEndDate != null) {
27912791
adjustPhaseForEndDate(PhaseType.REGISTRATION_PHASE, newProjectPhases, regEndDate);
27922792
}
2793-
2793+
27942794
if (multiRoundEndDate != null) {
27952795
// multiround phase duration
27962796
adjustPhaseForEndDate(PhaseType.CHECKPOINT_SUBMISSION_PHASE, newProjectPhases, multiRoundEndDate);

src/java/main/com/topcoder/direct/services/view/action/contest/launch/CommonAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,10 +399,10 @@ public String getBillingAccountsForProject() {
399399
billingAccount.put("cca", String.valueOf(requireCCAs[i]));
400400
// Add enableEffortHours for each billing account
401401
Client client = billingAccountsByProject.get(i).getClient();
402-
if (client != null) {
403-
billingAccount.put("enableEffortHours", client.isEffortHoursEnabled());
402+
if (client != null && client.isEffortHoursEnabled() != null) {
403+
billingAccount.put("enableEffortHours", String.valueOf(client.isEffortHoursEnabled()));
404404
} else {
405-
billingAccount.put("enableEffortHours", false);
405+
billingAccount.put("enableEffortHours", "false");
406406
}
407407

408408
result.add(billingAccount);

src/java/main/com/topcoder/direct/services/view/action/contest/launch/GetContestAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,10 +571,10 @@ protected void executeAction() throws Exception {
571571
billingAccount.put("cca", String.valueOf(requireCCAs[i]));
572572
// Add enableEffortHours for each billing account
573573
Client client = billingProjects.get(i).getClient();
574-
if (client != null) {
575-
billingAccount.put("enableEffortHours", client.isEffortHoursEnabled());
574+
if (client != null && client.isEffortHoursEnabled() != null) {
575+
billingAccount.put("enableEffortHours", String.valueOf(client.isEffortHoursEnabled()));
576576
} else {
577-
billingAccount.put("enableEffortHours", false);
577+
billingAccount.put("enableEffortHours", "false");
578578
}
579579
billingAccountsForProject.add(billingAccount);
580580
}

src/web/WEB-INF/contest-details2.jsp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
billingAccounts.push({"id": "<s:property value="id" />",
136136
"name" : "<s:property value="name" />",
137137
"cca" : "<s:property value="cca" />",
138-
"enableEffortHours" : "<s:property value="enableEffortHours" />"
138+
"enableEffortDays" : "<s:property value="enableEffortHours" />"
139139
});
140140
</s:iterator>
141141
</script>
@@ -172,7 +172,7 @@
172172
</div>
173173
<!-- End #wrapper -->
174174
<div class="tooltipArea">
175-
<div id="effortHourToolTip" class="tooltipContainer">
175+
<div id="effortDaysToolTip" class="tooltipContainer">
176176
<span class="arrow"></span>
177177
<div class="tooltipLeft"><div class="tooltipRight"><div class="tooltipBottom">
178178
<div class="tooltipBottomLeft"><div class="tooltipBottomRight">
@@ -187,7 +187,7 @@
187187
</div><!-- End .tooltipCaption -->
188188

189189
<div class="tooltipContent">
190-
<p>in Equated <strong>offshore hours = onsite hours * 6 + offshore hours</strong></p>
190+
<p>onsite efforts in person days * 6 + offshore efforts in person days</p>
191191
</div><!-- End .tooltipContent -->
192192

193193
</div></div>

src/web/WEB-INF/includes/contest/editTab.jsp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@
163163
</tr>
164164
<tr></tr>
165165
<tr class="effortEstimateRow hide">
166-
<td class="first_tab_type"><strong>Effort Hours Estimate</strong></td>
167-
<td class="sec_tab_type"><strong>: <span id="rEffortHoursEstimate"></span></strong></td>
166+
<td class="first_tab_type"><strong>Estimated Effort<br/>(in Person Days):</strong></td>
167+
<td class="sec_tab_type"><strong>: <span id="rEffortDaysEstimate"></span></strong></td>
168168
</tr>
169169
<tr></tr>
170170
<tr>
@@ -342,18 +342,20 @@
342342
</div>
343343
<br/><br/>
344344
<div class="effortEstimateRow">
345-
<span class="name fixWidthName" title="Enter effort hours estimate"><strong>Estimated Effort:&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
346-
<input id="effortHoursEstimate" class="bigin" name="effortHoursEstimate" type="text" value="" />
345+
<span class="name fixWidthName" title="Enter effort days estimate"><strong>Estimated Effort<br/>(in Person Days):&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
346+
<input id="effortDaysEstimate" class="bigin" name="effortDaysEstimate" type="text" value="" />
347347
</div>
348348
<br/><br/>
349349
<span class="name fixWidthName"><strong>Created By</strong></span>
350350
<span class ='small_info_spec' id="challegneCreatorLabel"></span>
351+
<div>
352+
<p class="save">
353+
<a href="javascript:;" class="cancel_text">cancel</a>
354+
<a href="javascript:;"><img src="/images/save_change.png" alt="save" class="save_btn" /></a>
355+
</p>
356+
</div>
351357
</div>
352358
</div>
353-
<p class="save">
354-
<a href="javascript:;" class="cancel_text">cancel</a>
355-
<a href="javascript:;"><img src="/images/save_change.png" alt="save" class="save_btn" /></a>
356-
</p>
357359
<div class="clear"></div>
358360
</div><!-- End .detailsContent -->
359361
</div><!-- End .details -->

src/web/WEB-INF/includes/contest/editTabMarathon.jsp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@
135135
</tr>
136136
<tr></tr>
137137
<tr class="effortEstimateRow hide">
138-
<td class="first_tab_type"><strong>Effort Hours Estimate</strong></td>
139-
<td class="sec_tab_type"><strong>: <span id="rEffortHoursEstimate"></span></strong></td>
138+
<td class="first_tab_type"><strong>Estimated Effort<br/>(in Person Days):</strong></td>
139+
<td class="sec_tab_type"><strong>: <span id="rEffortDaysEstimate"></span></strong></td>
140140
</tr>
141141
<tr></tr>
142142
<tr>
@@ -295,8 +295,8 @@
295295
</div>
296296
<br /><br />
297297
<div class="effortEstimateRow">
298-
<span class="name fixWidthName" title="Enter effort hours estimate"><strong>Estimated Effort:&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
299-
<input id="effortHoursEstimate" class="bigin" name="effortHoursEstimate" type="text" value="" />
298+
<span class="name fixWidthName" title="Enter effort days estimate"><strong>Estimated Effort<br/>(in Person Days):&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
299+
<input id="effortDaysEstimate" class="bigin" name="effortDaysEstimate" type="text" value="" />
300300
</div>
301301
<br/><br/>
302302
<span class="name fixWidthName"><strong>Created By</strong></span>

src/web/WEB-INF/includes/contest/editTabSoftware.jsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@
8888
- Version 3.3 (Topcoder - Support Points Prize Type For Challenges):
8989
- - Add "Points" section.
9090
-
91-
- Version 3.4 (Topcoder - Add effort hours field):
92-
- - Add enable effort hours
91+
- Version 3.4 (Topcoder - Add effort days field):
92+
- - Add enable effort days
9393
--%>
9494
<%@ include file="/WEB-INF/includes/taglibs.jsp" %>
9595

@@ -185,8 +185,8 @@
185185
</tr>
186186
<tr></tr>
187187
<tr class="effortEstimateRow hide">
188-
<td class="first_tab_type"><strong>Effort Hours Estimate</strong></td>
189-
<td class="sec_tab_type"><strong>: <span id="rEffortHoursEstimate"></span></strong></td>
188+
<td class="first_tab_type"><strong>Estimated Effort<br/>(in Person Days):</strong></td>
189+
<td class="sec_tab_type"><strong>: <span id="rEffortDaysEstimate"></span></strong></td>
190190
</tr>
191191
<tr></tr>
192192
<tr>
@@ -369,8 +369,8 @@
369369
<br/>
370370

371371
<div class="effortEstimateRow">
372-
<span class="name fixWidthName" title="Enter effort hours estimate"><strong>Estimated Effort:&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
373-
<input id="effortHoursEstimate" class="bigin" name="effortHoursEstimate" type="text" value="" />
372+
<span class="name fixWidthName" title="Enter effort days estimate"><strong>Estimated Effort<br/>(in Person Days):&nbsp;</strong><a href="javascript:;" class="helpme"><img src="/images/help_ico5.gif" alt="help"/></a></span>
373+
<input id="effortDaysEstimate" class="bigin" name="effortDaysEstimate" type="text" value="" />
374374
<br/>
375375
<br/>
376376
<br/>

0 commit comments

Comments
 (0)