From f39b6c813dfa8ad97de4f8a35aaf21ee1408b6d4 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 28 Dec 2012 20:02:07 +0100 Subject: o A custom pageable table with builds. --- src/main/java/io/trygvis/esper/testing/Config.java | 4 ++ src/main/webapp/apps/personApp/person.html | 83 ++++++++++++++++------ src/main/webapp/apps/personApp/personApp.js | 45 +++++++++++- .../core/badge/UnbreakableBadgeProgressTest.java | 10 ++- 4 files changed, 117 insertions(+), 25 deletions(-) diff --git a/src/main/java/io/trygvis/esper/testing/Config.java b/src/main/java/io/trygvis/esper/testing/Config.java index 5ff579f..d1bc2bd 100644 --- a/src/main/java/io/trygvis/esper/testing/Config.java +++ b/src/main/java/io/trygvis/esper/testing/Config.java @@ -4,6 +4,7 @@ import com.jolbox.bonecp.*; import fj.data.*; import org.apache.abdera.*; import org.slf4j.*; +import org.slf4j.bridge.*; import java.io.*; import java.sql.*; @@ -101,6 +102,9 @@ public class Config { LoggerFactory.getILoggerFactory(); // LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); // StatusPrinter.print(lc); + + SLF4JBridgeHandler.removeHandlersForRootLogger(); + SLF4JBridgeHandler.install(); } public BoneCPDataSource createBoneCp() throws SQLException { diff --git a/src/main/webapp/apps/personApp/person.html b/src/main/webapp/apps/personApp/person.html index 5a8395e..d9524ae 100644 --- a/src/main/webapp/apps/personApp/person.html +++ b/src/main/webapp/apps/personApp/person.html @@ -4,32 +4,71 @@

{{person.name}}

-

Badges

+ -

- {{badge.name}} x {{badge.count}} -

+
+

Badges

-
-
-
{{badge.name}}
+

+ {{badge.name}} x {{badge.count}} +

+ +
+
+
{{badge.name}}
+
+ +

Recent builds

+ + + + + + + + + + + + + +
DateSuccess
{{build.date | date:'medium'}}{{build.success}}
-

Recent builds

- - - - - - - - - - - - - -
DateSuccess
{{build.date | date:'medium'}}{{build.success}}
+
+

Builds

+ + + + + + + + + + + + + + + + + + +
DateSuccess
{{build.date | date:'medium'}}{{build.success}}
+ +
+
diff --git a/src/main/webapp/apps/personApp/personApp.js b/src/main/webapp/apps/personApp/personApp.js index 8323c45..8c13669 100644 --- a/src/main/webapp/apps/personApp/personApp.js +++ b/src/main/webapp/apps/personApp/personApp.js @@ -6,11 +6,54 @@ var personApp = angular.module('personApp', ['person', 'build']).config(function }); function PersonCtrl($scope, $location, Person, Build) { + function queryBuilds() { + var builds = $scope.builds; + Build.query({person: uuid, startIndex: builds.startIndex, count: builds.count}, function (builds) { + $scope.builds.rows = builds; + }); + } + + $scope.mode = 'overview'; + $scope.builds = { + rows: [], + startIndex: 0, + count: 10, + first: function() { + $scope.builds.startIndex = 0; + queryBuilds(); + }, + next: function() { + $scope.builds.startIndex += $scope.builds.count; + queryBuilds(); + }, + prev: function() { + if($scope.builds.startIndex == 0) { + return; + } + $scope.builds.startIndex -= $scope.builds.count; + queryBuilds(); + } + }; + + $scope.setMode = function(mode) { + $scope.mode = mode; + switch(mode) { + case 'builds': + var builds = $scope.builds; + + console.log("$scope.builds.length=" + builds.rows.length); + if (builds.rows.length == 0) { + queryBuilds(builds); + } + break; + } + }; + Person.get({uuid: uuid}, function (person) { $scope.person = person; }); Build.query({person: uuid}, function (builds) { - $scope.builds = builds; + $scope.recentBuilds = builds; }); } diff --git a/src/test/java/io/trygvis/esper/testing/core/badge/UnbreakableBadgeProgressTest.java b/src/test/java/io/trygvis/esper/testing/core/badge/UnbreakableBadgeProgressTest.java index 42ca98d..b50693d 100644 --- a/src/test/java/io/trygvis/esper/testing/core/badge/UnbreakableBadgeProgressTest.java +++ b/src/test/java/io/trygvis/esper/testing/core/badge/UnbreakableBadgeProgressTest.java @@ -15,7 +15,8 @@ public class UnbreakableBadgeProgressTest extends TestCase { UUID uuid = randomUUID(); public void testBadge() { - BuildDto build = new BuildDto(uuid, new DateTime(), new DateTime(), true, null); + BuildDto success = new BuildDto(uuid, new DateTime(), new DateTime(), true, null); + BuildDto failure = new BuildDto(uuid, new DateTime(), new DateTime(), false, null); UUID person = randomUUID(); @@ -24,7 +25,7 @@ public class UnbreakableBadgeProgressTest extends TestCase { List badges = new ArrayList<>(); for (int i = 0; i < 55; i++) { - P2> p2 = p.onBuild(build); + P2> p2 = p.onBuild(success); if (p2._2().isSome()) { badges.add(p2._2().some()); @@ -38,5 +39,10 @@ public class UnbreakableBadgeProgressTest extends TestCase { assertEquals(1, badges.get(0).level); assertEquals(2, badges.get(1).level); assertEquals(3, badges.get(2).level); + + P2> p2 = p.onBuild(failure); + + assertEquals(0, p2._1().count); + assertFalse(p2._2().isSome()); } } -- cgit v1.2.3