aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-01-05 22:39:18 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2013-01-05 22:39:18 +0100
commit12606726c11efbbf7213b05284c94e28a1ae4b8e (patch)
tree415a400218f3bbaac4f13a43461446f64f74028c /src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java
parentabf160e56be50781b0f78f3f938513ab6102809b (diff)
downloadesper-testing-12606726c11efbbf7213b05284c94e28a1ae4b8e.tar.gz
esper-testing-12606726c11efbbf7213b05284c94e28a1ae4b8e.tar.bz2
esper-testing-12606726c11efbbf7213b05284c94e28a1ae4b8e.tar.xz
esper-testing-12606726c11efbbf7213b05284c94e28a1ae4b8e.zip
o Including state in both badge and badge progress.
o Removing count from badge, inserting one badge per badge received.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java')
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java b/src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java
index ab0abd8..76dee02 100755
--- a/src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java
+++ b/src/main/java/io/trygvis/esper/testing/core/badge/UnbreakablePoller.java
@@ -11,25 +11,28 @@ import org.slf4j.*;
import java.sql.*;
import java.util.List;
-import java.util.*;
-import static fj.data.Option.some;
import static io.trygvis.esper.testing.Config.*;
-import static io.trygvis.esper.testing.core.db.PersonBadgeDto.BadgeType.*;
+import static io.trygvis.esper.testing.core.db.PersonalBadgeDto.BadgeType.*;
public class UnbreakablePoller implements TablePoller.NewRowCallback<BuildDto> {
private final Logger logger = LoggerFactory.getLogger(getClass());
- private final BadgeService badgeService = new BadgeService();
+ private final BadgeService badgeService;
+
+ public UnbreakablePoller(BadgeService badgeService) {
+ this.badgeService = badgeService;
+ }
public static void main(String[] args) throws Exception {
String pollerName = "unbreakable";
String tableName = "build";
String columnNames = BuildDao.BUILD;
SqlF<ResultSet, BuildDto> f = BuildDao.build;
- TablePoller.NewRowCallback<BuildDto> callback = new UnbreakablePoller();
Config config = loadFromDisk("unbreakable-poller");
+ BadgeService badgeService = new BadgeService(config.createObjectMapper());
+ TablePoller.NewRowCallback<BuildDto> callback = new UnbreakablePoller(badgeService);
BoneCPDataSource dataSource = config.createBoneCp();
@@ -41,11 +44,11 @@ public class UnbreakablePoller implements TablePoller.NewRowCallback<BuildDto> {
public void process(Connection c, BuildDto build) throws SQLException {
Daos daos = new Daos(c);
- List<UUID> persons = daos.buildDao.selectBuildParticipantByBuild(build.uuid);
+ List<Uuid> persons = daos.buildDao.selectBuildParticipantByBuild(build.uuid);
logger.info("Processing build={}, success={}, #persons={}", build.uuid, build.success, persons.size());
- for (UUID person : persons) {
- logger.info("person={}", person);
+ for (Uuid person : persons) {
+ logger.info("person={}", person.toUuidString());
SqlOption<PersonBadgeProgressDto> o = daos.personDao.selectBadgeProgress(person, UNBREAKABLE);
@@ -53,37 +56,31 @@ public class UnbreakablePoller implements TablePoller.NewRowCallback<BuildDto> {
UnbreakableBadgeProgress badge = UnbreakableBadgeProgress.initial(person);
logger.info("New badge progress");
String state = badgeService.serialize(badge);
- daos.personDao.insertBadgeProgress(new Uuid(person), UNBREAKABLE, state);
+ daos.personDao.insertBadgeProgress(person, UNBREAKABLE, state);
continue;
}
- UnbreakableBadgeProgress badge = badgeService.unbreakable(o.get());
+ UnbreakableBadgeProgress badge = badgeService.badgeProgress(o.get(), UnbreakableBadgeProgress.class);
- logger.info("Existing badge progress: count={}", badge.count);
+ logger.info("Existing badge progress: progression={}", badge.progression());
P2<UnbreakableBadgeProgress, Option<UnbreakableBadge>> p = badge.onBuild(build);
badge = p._1();
- logger.info("New badge progress: count={}", badge.count);
+ logger.info("New badge progress: progression={}", badge.progression());
if (p._2().isSome()) {
UnbreakableBadge b = p._2().some();
- logger.info("New unbreakable badge: person={}, level={}", person, b.level);
-
- SqlOption<PersonBadgeDto> option = daos.personDao.selectBadge(person, UNBREAKABLE, b.level);
+ logger.info("New unbreakable badge: person={}, level={}", person.toUuidString(), b.level);
- if (option.isNone()) {
- daos.personDao.insertBadge(person, UNBREAKABLE, b.level, 1);
- } else {
- daos.personDao.incrementBadgeCount(person, UNBREAKABLE, b.level);
- }
+ daos.personDao.insertBadge(build.createdDate, person, UNBREAKABLE, b.level, badgeService.serialize(b));
}
String state = badgeService.serialize(badge);
- daos.personDao.updateBadgeProgress(new Uuid(person), UNBREAKABLE, state);
+ daos.personDao.updateBadgeProgress(person, UNBREAKABLE, state);
}
}
}