diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-10 07:32:02 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-10 07:32:02 +0100 |
commit | 7838a06e5521db39aee8b3b87785fcb5e32cd7ad (patch) | |
tree | f10592e5f062d17522dcf08c11faa6ad166254e1 /src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java | |
parent | bc54871dac7ef10102edecf91a747d6595a4640f (diff) | |
download | esper-testing-7838a06e5521db39aee8b3b87785fcb5e32cd7ad.tar.gz esper-testing-7838a06e5521db39aee8b3b87785fcb5e32cd7ad.tar.bz2 esper-testing-7838a06e5521db39aee8b3b87785fcb5e32cd7ad.tar.xz esper-testing-7838a06e5521db39aee8b3b87785fcb5e32cd7ad.zip |
o Creating a single (awarded) badge view.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java b/src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java index bf06fbb..d747d5c 100644 --- a/src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java +++ b/src/main/java/io/trygvis/esper/testing/core/badge/BadgeService.java @@ -15,6 +15,39 @@ public class BadgeService { this.objectMapper = objectMapper; } + public UnbreakableBadge unbreakable(PersonalBadgeDto dto) { + return getProgress(dto.state, UnbreakableBadge.class); + } + + // ----------------------------------------------------------------------- + // Badge + // ----------------------------------------------------------------------- + + public PersonalBadge badge(PersonalBadgeDto dto) { + switch (dto.type) { + case UNBREAKABLE: + return getProgress(dto.state, UnbreakableBadge.class); + } + + throw new RuntimeException("Unknown badge type: " + dto.type); + } + + public <T extends PersonalBadge> T badge(PersonalBadgeDto dto, Class<T> klass) { + switch (dto.type) { + case UNBREAKABLE: + if(!klass.equals(UnbreakableBadgeProgress.class)) { + throw new RuntimeException("Badge is not of the expected type: UNBREAKABLE."); + } + return getProgress(dto.state, klass); + } + + throw new RuntimeException("Unknown badge type: " + dto.type); + } + + // ----------------------------------------------------------------------- + // Badge Progress + // ----------------------------------------------------------------------- + public BadgeProgress badgeProgress(PersonBadgeProgressDto dto) { switch (PersonalBadgeDto.BadgeType.valueOf(dto.badge)) { case UNBREAKABLE: @@ -36,9 +69,9 @@ public class BadgeService { throw new RuntimeException("Unknown badge type: " + dto.badge); } - public UnbreakableBadge unbreakable(PersonalBadgeDto dto) { - return getProgress(dto.state, UnbreakableBadge.class); - } + // ----------------------------------------------------------------------- + // + // ----------------------------------------------------------------------- public String serialize(Object badge) { try { |