Skip to content

Commit fdff487

Browse files
committed
#13 Add an ability to terminate the estimation session.
#14 Add support for the "Linear" estimation scale.
1 parent b702065 commit fdff487

File tree

14 files changed

+177
-30
lines changed

14 files changed

+177
-30
lines changed

src/main/java/com/aprey/jira/plugin/openpoker/EstimationScale.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727

2828
@Getter
2929
public enum EstimationScale {
30-
CLASSIC_PLANNING("Classic", EstimationUnit.CLASSIC_PLANNING),
30+
CLASSIC_PLANNING("Planning Cards", EstimationUnit.CLASSIC_PLANNING),
3131
FIBONACCI("Fibonacci", EstimationUnit.FIBONACCI),
32+
LINEAR("Linear", EstimationUnit.LINEAR),
3233
T_SHIRT_SIZE("T-shirt size", EstimationUnit.T_SHIRT_SIZE);
3334

3435
private final String name;
@@ -46,6 +47,12 @@ public static Optional<EstimationUnit> findByName(String name) {
4647
.findFirst();
4748
}
4849

50+
public static Optional<EstimationScale> findByUnit(EstimationUnit unit) {
51+
return Arrays.stream(values())
52+
.filter(e -> e.estimationUnit.equals(unit))
53+
.findFirst();
54+
}
55+
4956
public static List<EstimationScale> getValues() {
5057
return Arrays.stream(values()).collect(Collectors.toList());
5158
}

src/main/java/com/aprey/jira/plugin/openpoker/EstimationUnit.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@
2020
package com.aprey.jira.plugin.openpoker;
2121

2222
public enum EstimationUnit {
23-
FIBONACCI, CLASSIC_PLANNING, T_SHIRT_SIZE;
23+
FIBONACCI, CLASSIC_PLANNING, T_SHIRT_SIZE, LINEAR;
2424
}

src/main/java/com/aprey/jira/plugin/openpoker/api/PlanningPokerWebPanelProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ private void buildSessionView(PokerSession session, Map<String, Object> contextM
7272
SessionViewDTO viewDTO = SessionViewDTO.builder()
7373
.session(session)
7474
.estimation(buildEstimationView(session, currentUser))
75+
.currentScale(EstimationScale.findByUnit(session.getEstimationUnit())
76+
.orElse(EstimationScale.CLASSIC_PLANNING))
7577
.moderator(
7678
userConverter.buildUserDto(session.getModerator(), currentUser))
7779
.build();

src/main/java/com/aprey/jira/plugin/openpoker/api/PokerSessionServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public PokerSessionServlet(PersistenceService persistenceService, ApplyVoteProce
4242
.put(SessionAction.STOP_SESSION, new StopSessionProcessor())
4343
.put(SessionAction.VOTE, new VoteProcessor())
4444
.put(SessionAction.RE_ESTIMATE, new StartSessionProcessor())
45-
.put(SessionAction.DELETE, new DeleteSessionProcessor())
45+
.put(SessionAction.CANCEL, new DeleteSessionProcessor())
4646
.put(SessionAction.APPLY_ESTIMATE, applyVoteProcessor)
4747
.build();
4848
}

src/main/java/com/aprey/jira/plugin/openpoker/api/SessionAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424

2525
public enum SessionAction {
2626
START_SESSION("Start Estimation"),
27-
VOTE("Vote"),
27+
VOTE("Estimate"),
2828
STOP_SESSION("Stop Estimation"),
2929
RE_ESTIMATE("Re-estimate"),
30-
APPLY_ESTIMATE("Apply Estimate"),
31-
DELETE("End Session");
30+
APPLY_ESTIMATE("Apply"),
31+
CANCEL("Terminate");
3232

3333
private final String actionName;
3434

src/main/java/com/aprey/jira/plugin/openpoker/api/SessionViewDTO.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package com.aprey.jira.plugin.openpoker.api;
2121

22+
import com.aprey.jira.plugin.openpoker.EstimationScale;
2223
import com.aprey.jira.plugin.openpoker.PokerSession;
2324
import lombok.Builder;
2425
import lombok.Value;
@@ -29,4 +30,5 @@ public class SessionViewDTO {
2930
private final PokerSession session;
3031
private final UserDTO moderator;
3132
private final EstimationViewDTO estimation;
33+
private final EstimationScale currentScale;
3234
}

src/main/java/com/aprey/jira/plugin/openpoker/persistence/EntityToObjConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public PokerSession toObj(PokerSessionEntity entity) {
6363
.completionDate(entity.getCompletionDate())
6464
.estimates(buildEstimates(entity.getEstimates(), entity.getUnitOfMeasure()))
6565
.estimationGrades(estimationDeckService.getDeck(entity.getUnitOfMeasure()).getGrades())
66+
.estimationUnit(entity.getUnitOfMeasure())
6667
.build();
6768
}
6869

src/main/java/com/aprey/jira/plugin/openpoker/persistence/EstimationDeckService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public class EstimationDeckService {
3333
.put(EstimationUnit.FIBONACCI, new FibonacciDeck())
3434
.put(EstimationUnit.CLASSIC_PLANNING, new ClassicPlanningDeck())
3535
.put(EstimationUnit.T_SHIRT_SIZE, new TshirtSizeDeck())
36+
.put(EstimationUnit.LINEAR, new LinearDeck())
3637
.build();
3738

3839
public Deck getDeck(EstimationUnit estimationUnit) {

src/main/java/com/aprey/jira/plugin/openpoker/persistence/FibonacciNumber.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@
2929
import static java.util.stream.Collectors.toMap;
3030

3131
public enum FibonacciNumber implements EstimationGrade {
32+
ZERO(11, "0", true),
3233
ONE(1, "1", true),
3334
TWO(2, "2", true),
3435
THREE(3, "3", true),
3536
FIVE(4, "5", true),
3637
EIGHT(5, "8", true),
3738
THIRTEEN(6, "13", true),
3839
TWENTY_ONE(7, "21", true),
40+
THIRTY_FOUR(12, "34", true),
41+
FIFTY_FIVE(13, "55", true),
42+
EIGHTY_NINE(14, "89", true),
3943
INFINITE(8, "Infinite", false),
4044
COFFEE(9, "Coffee", false),
4145
QUESTION(10, "?", false);

src/main/java/com/aprey/jira/plugin/openpoker/persistence/GradesDeckType.java renamed to src/main/java/com/aprey/jira/plugin/openpoker/persistence/LinearDeck.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,19 @@
1919

2020
package com.aprey.jira.plugin.openpoker.persistence;
2121

22-
public enum GradesDeckType {
23-
Fibona
22+
import com.aprey.jira.plugin.openpoker.Deck;
23+
import com.aprey.jira.plugin.openpoker.EstimationGrade;
24+
import java.util.List;
25+
26+
public class LinearDeck implements Deck {
27+
28+
@Override
29+
public List<EstimationGrade> getGrades() {
30+
return LinearSequence.getValuesList();
31+
}
32+
33+
@Override
34+
public EstimationGrade getGrade(int gradeId) {
35+
return LinearSequence.findById(gradeId);
36+
}
2437
}

0 commit comments

Comments
 (0)