1
0
Fork 0

Merge remote-tracking branch 'origin/pr/21'

master
Bob Carroll 2013-12-05 22:14:46 -08:00
commit fb795b6759
4 changed files with 59 additions and 12 deletions

View File

@ -40,8 +40,9 @@ public class Backlog {
private RestClient restclient = null;
private List<SprintIssue> issues = null;
private List<SprintIssue> backlogIssues = null;
private int rankCustomFieldId = 0;
private List<Sprint> openSprints = null;
private List<Sprint> sprints = null;
private List<RapidViewProject> projects = null;
private List<Marker> markers = null;
private List<Epic> epics = null;
@ -72,9 +73,9 @@ public class Backlog {
map.get("issues"),
restclient);
rankCustomFieldId = Field.getInteger(map.get("rankCustomFieldId"));
openSprints = GreenHopperField.getResourceArray(
sprints = GreenHopperField.getResourceArray(
Sprint.class,
map.get("openSprints"),
map.get("sprints"),
restclient);
projects = GreenHopperField.getResourceArray(
RapidViewProject.class,
@ -124,6 +125,25 @@ public class Backlog {
}
}
}
//determining which issues are actually in the backlog vs the sprints
//fill in the issues into the single sprints and the backlog issue list respectively
for(SprintIssue issue : issues){
boolean addedToSprint = false;
for(Sprint sprint : sprints){
if(sprint.getIssuesIds().contains(issue.getId())){
sprint.getIssues().add(issue);
addedToSprint = true;
}
}
if(!addedToSprint){
if(backlogIssues == null){
backlogIssues = new ArrayList<SprintIssue>();
}
backlogIssues.add(issue);
}
}
}
/**
@ -163,12 +183,16 @@ public class Backlog {
return issues;
}
public List<SprintIssue> getBacklogIssues() {
return backlogIssues;
}
public int getRankCustomFieldId() {
return rankCustomFieldId;
}
public List<Sprint> getOpenSprints() {
return openSprints;
public List<Sprint> getSprints() {
return sprints;
}
public List<RapidViewProject> getProjects() {

View File

@ -31,7 +31,7 @@ import net.sf.json.JSONObject;
public class EstimateStatistic {
private String statFieldId = null;
private int statFieldValue = 0;
private Double statFieldValue = 0.0;
private String statFieldText = null;
/**
@ -49,8 +49,8 @@ public class EstimateStatistic {
Map val = (Map)json.get("statFieldValue");
statFieldValue = Field.getInteger(map.get("value"));
statFieldText = Field.getString(map.get("text"));
statFieldValue = Field.getDouble(val.get("value"));
statFieldText = Field.getString(val.get("text"));
}
}
@ -58,7 +58,7 @@ public class EstimateStatistic {
return statFieldId;
}
public int getFieldValue() {
public Double getFieldValue() {
return statFieldValue;
}

View File

@ -37,6 +37,8 @@ public final class GreenHopperField {
public static final String DATE_TIME_FORMAT = "d/MMM/yy h:m a";
public static final String NO_DATE = "None";
private GreenHopperField() { }
/**
@ -47,9 +49,10 @@ public final class GreenHopperField {
* @return the date-time or null
*/
public static DateTime getDateTime(Object dt) {
return dt != null ?
DateTime.parse((String)dt, DateTimeFormat.forPattern(DATE_TIME_FORMAT)) :
null;
if(dt == null || ((String)dt).equals(NO_DATE)){
return null;
}
return DateTime.parse((String)dt, DateTimeFormat.forPattern(DATE_TIME_FORMAT));
}
/**

View File

@ -22,6 +22,8 @@ package net.rcarz.jiraclient.greenhopper;
import net.rcarz.jiraclient.Field;
import net.rcarz.jiraclient.RestClient;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
@ -38,6 +40,8 @@ public class Sprint extends GreenHopperResource {
private DateTime startDate = null;
private DateTime endDate = null;
private DateTime completeDate = null;
private List<Integer> issuesIds = null;
private List<SprintIssue> issues = null;
/**
* Creates a sprint from a JSON payload.
@ -61,6 +65,7 @@ public class Sprint extends GreenHopperResource {
startDate = GreenHopperField.getDateTime(map.get("startDate"));
endDate = GreenHopperField.getDateTime(map.get("endDate"));
completeDate = GreenHopperField.getDateTime(map.get("completeDate"));
issuesIds = GreenHopperField.getIntegerArray(map.get("issuesIds"));
}
@Override
@ -87,5 +92,20 @@ public class Sprint extends GreenHopperResource {
public DateTime getCompleteDate() {
return completeDate;
}
public void setIssues(List<SprintIssue> _issues){
issues = _issues;
}
public List<SprintIssue> getIssues(){
if(issues == null){
issues = new ArrayList<SprintIssue>();
}
return issues;
}
public List<Integer> getIssuesIds() {
return issuesIds;
}
}