diff --git a/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.controller.js b/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.controller.js index 7be21e240..12bf37975 100644 --- a/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.controller.js +++ b/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.controller.js @@ -1,68 +1,77 @@ (function () { 'use strict'; // -- register controller with angular -- // angular.module('shrine-tools') .controller('ProblemsController', ProblemsController); /** * * @type {string[]} */ ProblemsController.$inject = ['$app', '$log']; function ProblemsController ($app, $log) { var vm = this; init(); /** * */ function init () { vm.num = 0; - //vm.probsN = 20; + vm.url = "https://open.med.harvard.edu/wiki/display/SHRINE/"; vm.newPage = newPage; - vm.floorMod = function(num1, num2) { - if (!(num1 && num2)) { - // can't mod without real numbers - return num1; - } else { - var n1 = Math.floor(num1); - var n2 = Math.floor(num2); - return n1 - (n1 % n2); - } + vm.floorMod = floorMod; + vm.numCheck = function(any) {return isFinite(any)? any - 1: vm.probsOffset}; + vm.formatCodec = function(word) { + var index = word.lastIndexOf('.'); + var arr = word.trim().split(""); + arr[index] = '\n'; + return arr.join(""); }; vm.min = Math.min; vm.stringify = function(arg) { return JSON.stringify(arg, null, 2); }; newPage(0) } + function floorMod(num1, num2) { + if (!(num1 && num2)) { + // can't mod without real numbers + return num1; + } else { + var n1 = Math.floor(num1); + var n2 = Math.floor(num2); + return n1 - (n1 % n2); + } + } + + function newPage(n) { if (!isFinite(n)) { - $log.error('n is not defined!'); + return; } var clamp = function(num1) { if (!vm.probsSize) { // Can't clamp, since probsSize isn't set yet. return num1; } else { return Math.max(0, Math.min(vm.probsSize, num1)); } }; - var num = vm.floorMod(clamp(n), vm.probsN); $app.model.getProblems(num) .then(setProblems) } function setProblems(probs) { vm.problems = probs.problems; vm.probsSize = probs.size; vm.probsOffset = probs.offset; vm.probsN = probs.n; } } })(); diff --git a/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.tpl.html b/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.tpl.html index 992855955..08546b933 100644 --- a/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.tpl.html +++ b/apps/dashboard-app/src/main/js/src/app/diagnostic/views/problems.tpl.html @@ -1,74 +1,85 @@
+ + + + + + + - + ng-click="problem.showDetails = !problem.showDetails" + style="cursor: pointer;">
Problems: Total = {{vm.probsSize}}
+ Codec Time Logged Summary Description
- {{problem.codec}} + +
{{vm.formatCodec(problem.codec)}}
+
{{problem.stampText}} {{problem.summary}} {{problem.description}}
                     {{vm.stringify(problem.detailsXml)}}
                 
|
- {{vm.floorMod(vm.probsOffset, vm.probsN)}}-{{vm.min(vm.probsSize, vm.floorMod(vm.probsOffset, vm.probsN) + vm.probsN - 1)}} / {{vm.probsSize}} + {{vm.floorMod(vm.probsOffset, vm.probsN) + 1}}-{{vm.min(vm.probsSize, vm.floorMod(vm.probsOffset, vm.probsN) + vm.probsN)}} / {{vm.probsSize}}
-
+
\ No newline at end of file diff --git a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=0.json b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=0.json index cab89d5fb..072ee1cc1 100644 --- a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=0.json +++ b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=0.json @@ -1,995 +1,995 @@ {"size":63,"offset":0,"n":20,"problems": [{ - "codec": "Paula", + "codec":"net.shrine.protocol.ErrorStatusFromCrc", "description": "Proin risus.", "summary": "Vivamus in felis eu sapien cursus vestibulum.", "stampText": "2016-07-25T17:42:42Z", "epoch": "1464931235", "detailsXml": { "exception": { "name": "PellentesqueEget.js", "message": "Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "stacktrace": { "line": [ "Sed ante.", "Morbi non quam nec dui luctus rutrum.", "Praesent blandit lacinia erat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Nulla facilisi.", "Integer tincidunt ante vel ipsum.", "Aenean fermentum.", "Nam nulla.", "Fusce consequat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Proin at turpis a pede posuere nonummy.", "In hac habitasse platea dictumst.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Mauris ullamcorper purus sit amet nulla.", "Mauris lacinia sapien quis libero.", "Mauris sit amet eros.", "Morbi non lectus.", "Fusce consequat.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Maecenas rhoncus aliquam lacus.", "Donec ut mauris eget massa tempor convallis.", "Praesent blandit lacinia erat.", "Pellentesque eget nunc.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Quisque porta volutpat erat.", "Quisque porta volutpat erat.", "Nunc nisl.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Maecenas ut massa quis augue luctus tincidunt.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Duis at velit eu est congue elementum.", "Vivamus in felis eu sapien cursus vestibulum.", "Proin at turpis a pede posuere nonummy.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Donec vitae nisi.", "Nullam varius.", "Morbi non lectus.", "Sed sagittis.", "Integer a nibh.", "Nunc nisl.", "Phasellus in felis.", "Pellentesque ultrices mattis odio.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Proin interdum mauris non ligula pellentesque ultrices.", "Donec dapibus.", "Praesent blandit.", "Morbi non lectus.", "Nullam porttitor lacus at turpis." ] } } } }, { - "codec": "Dennis", + "codec":"net.shrine.adapter.CannotParseXmlFromCrc", "description": "Aenean sit amet justo.", "summary": "Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.", "stampText": "2015-09-20T04:34:50Z", "epoch": "1467940628", "detailsXml": { "exception": { "name": "InAnte.js", "message": "Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum.", "stacktrace": { "line": [ "Nulla facilisi.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Sed vel enim sit amet nunc viverra dapibus.", "Ut at dolor quis odio consequat varius.", "Morbi ut odio.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Nulla tempus.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Maecenas tincidunt lacus at velit.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "In hac habitasse platea dictumst.", "Nam tristique tortor eu pede.", "Pellentesque at nulla.", "Ut tellus.", "Sed sagittis.", "Nullam porttitor lacus at turpis.", "Vestibulum rutrum rutrum neque.", "In congue.", "Nulla facilisi.", "Vivamus tortor." ] } } } }, { - "codec": "Christina", + "codec":"net.shrine.aggregation.NoValidResponsesToAggregate", "description": "Suspendisse ornare consequat lectus.", "summary": "Donec posuere metus vitae ipsum.", "stampText": "2015-08-30T15:48:40Z", "epoch": "1467096518", "detailsXml": { "exception": { "name": "Eget.css", "message": "Curabitur gravida nisi at nibh.", "stacktrace": { "line": [ "Praesent blandit lacinia erat.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Maecenas pulvinar lobortis est.", "Phasellus id sapien in sapien iaculis congue.", "Mauris ullamcorper purus sit amet nulla.", "Suspendisse potenti.", "In hac habitasse platea dictumst.", "Proin interdum mauris non ligula pellentesque ultrices.", "Nam dui.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Fusce consequat.", "Sed accumsan felis.", "Curabitur convallis.", "Maecenas ut massa quis augue luctus tincidunt.", "Donec posuere metus vitae ipsum.", "Praesent blandit lacinia erat.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Fusce consequat.", "Proin risus.", "In quis justo.", "Pellentesque eget nunc.", "Nulla ac enim.", "Nulla ut erat id mauris vulputate elementum.", "Nunc rhoncus dui vel sem.", "Proin risus.", "Duis consequat dui nec nisi volutpat eleifend.", "Integer tincidunt ante vel ipsum.", "In congue.", "Praesent id massa id nisl venenatis lacinia.", "Suspendisse potenti.", "Sed accumsan felis.", "Cras non velit nec nisi vulputate nonummy.", "Nullam molestie nibh in lectus.", "Mauris ullamcorper purus sit amet nulla.", "Vestibulum sed magna at nunc commodo placerat.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Donec vitae nisi.", "Nam tristique tortor eu pede.", "Pellentesque eget nunc.", "Duis ac nibh.", "Nulla mollis molestie lorem." ] } } } }, { - "codec": "Louise", + "codec":"net.shrine.aggregation.NoValidResponsesToAggregate", "description": "Maecenas rhoncus aliquam lacus.", "summary": "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "stampText": "2015-11-15T20:17:04Z", "epoch": "1467123461", "detailsXml": { "exception": { "name": "Id.js", "message": "Quisque ut erat. Curabitur gravida nisi at nibh. In hac habitasse platea dictumst.", "stacktrace": { "line": [ "Maecenas pulvinar lobortis est.", "Mauris ullamcorper purus sit amet nulla.", "Curabitur in libero ut massa volutpat convallis.", "Maecenas tincidunt lacus at velit.", "Morbi vel lectus in quam fringilla rhoncus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Sed accumsan felis.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Morbi porttitor lorem id ligula.", "Suspendisse potenti.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Nunc nisl.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Proin eu mi.", "Duis aliquam convallis nunc.", "Nunc nisl.", "Vivamus vestibulum sagittis sapien.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Donec quis orci eget orci vehicula condimentum.", "Vestibulum sed magna at nunc commodo placerat.", "Ut tellus.", "Etiam justo.", "In congue.", "Phasellus in felis.", "Vivamus vestibulum sagittis sapien.", "Duis consequat dui nec nisi volutpat eleifend.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Aliquam erat volutpat.", "Phasellus sit amet erat.", "Morbi non lectus.", "Maecenas tincidunt lacus at velit.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Quisque ut erat." ] } } } }, { - "codec": "Ronald", + "codec":"net.shrine.qep.queries.QepDatabaseProblem", "description": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "summary": "Vivamus vel nulla eget eros elementum pellentesque.", "stampText": "2016-03-01T14:48:34Z", "epoch": "1469226821", "detailsXml": { "exception": { "name": "IdSapienIn.java", "message": "Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "stacktrace": { "line": [ "Etiam pretium iaculis justo.", "Vestibulum sed magna at nunc commodo placerat.", "In congue.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "In hac habitasse platea dictumst.", "Integer tincidunt ante vel ipsum.", "In sagittis dui vel nisl.", "Morbi vel lectus in quam fringilla rhoncus.", "Duis mattis egestas metus.", "Duis ac nibh.", "Aliquam non mauris.", "Aliquam non mauris.", "Etiam justo.", "Sed accumsan felis.", "Praesent blandit lacinia erat.", "Duis ac nibh.", "Etiam justo.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Cras in purus eu magna vulputate luctus.", "Aliquam erat volutpat.", "Nunc rhoncus dui vel sem.", "Nunc nisl.", "Vestibulum sed magna at nunc commodo placerat.", "Curabitur convallis.", "Morbi vel lectus in quam fringilla rhoncus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nunc purus.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Aliquam erat volutpat.", "Vestibulum rutrum rutrum neque.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "In hac habitasse platea dictumst.", "Quisque porta volutpat erat.", "Nulla justo.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Donec ut dolor.", "Nam dui.", "Sed vel enim sit amet nunc viverra dapibus.", "In quis justo." ] } } } }, { - "codec": "Victor", + "codec":"net.shrine.adapter.CrcCouldNotBeInvoked", "description": "Curabitur in libero ut massa volutpat convallis.", "summary": "Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "stampText": "2016-05-12T22:27:05Z", "epoch": "1446949742", "detailsXml": { "exception": { "name": "PedeUllamcorper.js", "message": "Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum.", "stacktrace": { "line": [ "Phasellus id sapien in sapien iaculis congue.", "In eleifend quam a odio.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Quisque porta volutpat erat.", "Nullam porttitor lacus at turpis.", "Suspendisse ornare consequat lectus.", "Phasellus in felis.", "In hac habitasse platea dictumst.", "Nam tristique tortor eu pede.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Morbi ut odio.", "Mauris ullamcorper purus sit amet nulla.", "Cras in purus eu magna vulputate luctus.", "Praesent blandit lacinia erat.", "Morbi quis tortor id nulla ultrices aliquet.", "Nulla justo.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Ut tellus.", "Praesent blandit lacinia erat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Ut at dolor quis odio consequat varius.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Proin eu mi.", "Proin eu mi.", "Curabitur gravida nisi at nibh.", "Aenean fermentum.", "Praesent lectus.", "Nulla mollis molestie lorem.", "Morbi non quam nec dui luctus rutrum.", "Pellentesque ultrices mattis odio." ] } } } }, { - "codec": "Anna", + "codec":"net.shrine.qep.queries.QepDatabaseProblem", "description": "Integer non velit.", "summary": "Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus.", "stampText": "2015-10-19T01:39:35Z", "epoch": "1451699738", "detailsXml": { "exception": { "name": "NatoquePenatibus.java", "message": "Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.", "stacktrace": { "line": [ "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Integer tincidunt ante vel ipsum.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "In congue.", "Pellentesque viverra pede ac diam.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Morbi a ipsum.", "Duis mattis egestas metus.", "Nulla suscipit ligula in lacus.", "Donec dapibus.", "Praesent blandit.", "Proin at turpis a pede posuere nonummy.", "Phasellus id sapien in sapien iaculis congue.", "Vivamus in felis eu sapien cursus vestibulum.", "Sed ante.", "Phasellus sit amet erat.", "Sed vel enim sit amet nunc viverra dapibus.", "Praesent blandit.", "Vestibulum rutrum rutrum neque.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "In hac habitasse platea dictumst.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Etiam vel augue.", "Vivamus in felis eu sapien cursus vestibulum.", "Nulla suscipit ligula in lacus.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Pellentesque eget nunc.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Etiam justo." ] } } } }, { - "codec": "Katherine", + "codec":"net.shrine.adapter.dao.squeryl.BreakdownFailure", "description": "Nulla suscipit ligula in lacus.", "summary": "Etiam justo. Etiam pretium iaculis justo.", "stampText": "2015-12-18T19:40:27Z", "epoch": "1457212349", "detailsXml": { "exception": { "name": "CrasMiPede.js", "message": "Morbi a ipsum.", "stacktrace": { "line": [ "Cras non velit nec nisi vulputate nonummy.", "Phasellus in felis.", "Nulla mollis molestie lorem.", "Nullam porttitor lacus at turpis.", "Nulla justo.", "Nulla facilisi.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Quisque ut erat.", "Duis mattis egestas metus.", "Aenean fermentum.", "Nunc rhoncus dui vel sem.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Donec semper sapien a libero.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Nam dui.", "Ut tellus.", "Proin at turpis a pede posuere nonummy.", "Mauris ullamcorper purus sit amet nulla.", "Sed accumsan felis.", "Etiam vel augue.", "Aliquam non mauris.", "Nulla tellus.", "Nullam varius.", "Curabitur gravida nisi at nibh.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Morbi non quam nec dui luctus rutrum.", "Nulla tellus.", "Integer ac leo.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros." ] } } } }, { - "codec": "Joseph", + "codec":"net.shrine.aggregation.HttpErrorResponseProblem", "description": "Nullam sit amet turpis elementum ligula vehicula consequat.", "summary": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti.", "stampText": "2016-02-04T18:18:08Z", "epoch": "1463644845", "detailsXml": { "exception": { "name": "MorbiNon.css", "message": "Nulla suscipit ligula in lacus.", "stacktrace": { "line": [ "Nulla tempus.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Aenean fermentum.", "Vestibulum sed magna at nunc commodo placerat.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Sed sagittis.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Aliquam erat volutpat.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Pellentesque eget nunc.", "In hac habitasse platea dictumst.", "Ut at dolor quis odio consequat varius.", "Mauris ullamcorper purus sit amet nulla.", "Fusce consequat.", "Duis aliquam convallis nunc.", "Aenean fermentum.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Morbi ut odio.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Maecenas ut massa quis augue luctus tincidunt.", "In hac habitasse platea dictumst.", "Nunc purus.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Integer a nibh.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Maecenas tincidunt lacus at velit.", "Duis aliquam convallis nunc.", "Nulla ut erat id mauris vulputate elementum.", "Pellentesque ultrices mattis odio.", "Nulla nisl.", "Etiam vel augue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Donec vitae nisi.", "Pellentesque ultrices mattis odio.", "Vivamus vel nulla eget eros elementum pellentesque.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Morbi quis tortor id nulla ultrices aliquet.", "Vivamus vestibulum sagittis sapien.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Nulla nisl.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio." ] } } } }, { - "codec": "Ruth", + "codec":"net.shrine.problem.ProblemNotYetEncoded", "description": "In hac habitasse platea dictumst.", "summary": "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam. Nam tristique tortor eu pede.", "stampText": "2016-04-14T19:38:30Z", "epoch": "1438484431", "detailsXml": { "exception": { "name": "UltricesAliquet.js", "message": "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "stacktrace": { "line": [ "In hac habitasse platea dictumst.", "Integer ac leo.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Nulla justo.", "Mauris ullamcorper purus sit amet nulla.", "Donec semper sapien a libero.", "Praesent blandit lacinia erat.", "Duis at velit eu est congue elementum.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Cras pellentesque volutpat dui.", "Nulla tellus.", "Nunc purus.", "Curabitur at ipsum ac tellus semper interdum.", "Nulla ac enim.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Curabitur gravida nisi at nibh.", "Pellentesque at nulla.", "Vivamus vestibulum sagittis sapien.", "Proin risus.", "Morbi vel lectus in quam fringilla rhoncus.", "Duis aliquam convallis nunc.", "Nulla suscipit ligula in lacus.", "Aenean fermentum.", "Morbi porttitor lorem id ligula.", "Integer tincidunt ante vel ipsum." ] } } } }, { - "codec": "Steve", + "codec":"net.shrine.adapter.client.HttpErrorCodeFromAdapter", "description": "Mauris ullamcorper purus sit amet nulla.", "summary": "Aenean sit amet justo. Morbi ut odio.", "stampText": "2016-06-18T19:41:42Z", "epoch": "1442204097", "detailsXml": { "exception": { "name": "NonLectusAliquam.js", "message": "Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet.", "stacktrace": { "line": [ "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Vestibulum sed magna at nunc commodo placerat.", "Donec quis orci eget orci vehicula condimentum.", "Donec ut mauris eget massa tempor convallis.", "Ut at dolor quis odio consequat varius.", "Morbi non lectus.", "Vivamus vel nulla eget eros elementum pellentesque.", "Aliquam non mauris.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Duis aliquam convallis nunc.", "Sed sagittis.", "Morbi non lectus.", "Sed vel enim sit amet nunc viverra dapibus.", "Mauris sit amet eros.", "Morbi vel lectus in quam fringilla rhoncus.", "Proin eu mi.", "Nunc purus.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Quisque porta volutpat erat.", "Donec ut mauris eget massa tempor convallis.", "Nullam varius.", "Nullam molestie nibh in lectus.", "Etiam faucibus cursus urna.", "Suspendisse ornare consequat lectus.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Vestibulum ac est lacinia nisi venenatis tristique.", "In sagittis dui vel nisl.", "In hac habitasse platea dictumst.", "Curabitur convallis.", "Vestibulum sed magna at nunc commodo placerat.", "Mauris sit amet eros.", "Duis at velit eu est congue elementum.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Cras pellentesque volutpat dui.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Suspendisse potenti.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Duis ac nibh.", "Pellentesque ultrices mattis odio.", "Ut tellus.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nullam varius.", "Pellentesque viverra pede ac diam.", "Nulla ut erat id mauris vulputate elementum.", "Cras in purus eu magna vulputate luctus.", "Phasellus sit amet erat." ] } } } }, { - "codec": "Patrick", + "codec":"net.shrine.aggregation.InvalidResultProblem", "description": "Curabitur gravida nisi at nibh.", "summary": "Nunc nisl.", "stampText": "2015-11-01T01:07:51Z", "epoch": "1464352796", "detailsXml": { "exception": { "name": "MaurisSit.css", "message": "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat.", "stacktrace": { "line": [ "Nullam varius.", "Maecenas rhoncus aliquam lacus.", "Suspendisse potenti.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Aliquam erat volutpat.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Aliquam non mauris.", "Nulla facilisi.", "Nulla suscipit ligula in lacus.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Integer non velit.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Integer ac leo.", "Curabitur in libero ut massa volutpat convallis.", "Morbi porttitor lorem id ligula.", "Maecenas pulvinar lobortis est.", "Aenean lectus.", "Phasellus sit amet erat.", "Duis at velit eu est congue elementum.", "Proin risus.", "Suspendisse potenti.", "Quisque id justo sit amet sapien dignissim vestibulum." ] } } } }, { - "codec": "Thomas", + "codec":"net.shrine.aggregation.HttpErrorResponseProblem", "description": "Etiam vel augue.", "summary": "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "stampText": "2016-06-30T18:59:38Z", "epoch": "1439625535", "detailsXml": { "exception": { "name": "NullaSuspendisse.js", "message": "Phasellus in felis. Donec semper sapien a libero. Nam dui.", "stacktrace": { "line": [ "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Nunc rhoncus dui vel sem.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Cras in purus eu magna vulputate luctus.", "Vestibulum rutrum rutrum neque.", "Cras in purus eu magna vulputate luctus.", "Mauris lacinia sapien quis libero.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Maecenas ut massa quis augue luctus tincidunt.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Nullam molestie nibh in lectus.", "Ut tellus.", "Morbi a ipsum.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Integer ac leo.", "Curabitur gravida nisi at nibh.", "Phasellus id sapien in sapien iaculis congue.", "Vivamus tortor.", "Vivamus in felis eu sapien cursus vestibulum.", "Nulla tempus.", "Curabitur gravida nisi at nibh.", "Suspendisse accumsan tortor quis turpis.", "Mauris ullamcorper purus sit amet nulla.", "Duis bibendum." ] } } } }, { - "codec": "Phyllis", + "codec":"net.shrine.authorization.HMSNotAuthenticatedProblem", "description": "Nunc purus.", "summary": "Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "stampText": "2016-06-21T10:22:12Z", "epoch": "1439450598", "detailsXml": { "exception": { "name": "OdioOdioElementum.css", "message": "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus. Phasellus in felis.", "stacktrace": { "line": [ "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Morbi non lectus.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Pellentesque at nulla.", "Etiam vel augue.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "In quis justo.", "Duis at velit eu est congue elementum.", "Nunc rhoncus dui vel sem.", "Maecenas pulvinar lobortis est.", "Curabitur at ipsum ac tellus semper interdum.", "Quisque porta volutpat erat.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Morbi a ipsum.", "In congue.", "Praesent lectus.", "Curabitur convallis.", "Donec posuere metus vitae ipsum." ] } } } }, { - "codec": "Jack", + "codec":"net.shrine.adapter.AdapterDatabaseProblem", "description": "Donec vitae nisi.", "summary": "Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat.", "stampText": "2015-09-17T07:23:28Z", "epoch": "1452735093", "detailsXml": { "exception": { "name": "VestibulumVelitId.css", "message": "Aliquam non mauris.", "stacktrace": { "line": [ "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Nulla tellus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Integer ac leo.", "Pellentesque ultrices mattis odio.", "Sed ante.", "Aenean sit amet justo.", "Pellentesque at nulla.", "Phasellus sit amet erat.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Aenean lectus.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "In hac habitasse platea dictumst.", "Duis bibendum.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Ut at dolor quis odio consequat varius.", "Nulla mollis molestie lorem.", "Nunc purus.", "Vivamus tortor.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Cras in purus eu magna vulputate luctus.", "In hac habitasse platea dictumst.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Nulla tellus.", "Praesent blandit lacinia erat.", "Sed vel enim sit amet nunc viverra dapibus.", "Praesent blandit.", "In blandit ultrices enim.", "Curabitur convallis.", "Proin risus.", "Nullam porttitor lacus at turpis.", "Vestibulum sed magna at nunc commodo placerat.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Maecenas ut massa quis augue luctus tincidunt.", "In hac habitasse platea dictumst.", "In blandit ultrices enim." ] } } } }, { - "codec": "Kathleen", + "codec":"net.shrine.adapter.QueryNotFound", "description": "Duis bibendum.", "summary": "In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum.", "stampText": "2015-09-06T09:08:14Z", "epoch": "1456823507", "detailsXml": { "exception": { "name": "Nulla.java", "message": "Nulla tellus.", "stacktrace": { "line": [ "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Aliquam non mauris.", "Cras non velit nec nisi vulputate nonummy.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Morbi ut odio.", "Proin at turpis a pede posuere nonummy.", "Fusce posuere felis sed lacus.", "Quisque porta volutpat erat.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Sed accumsan felis.", "Maecenas tincidunt lacus at velit.", "Morbi non quam nec dui luctus rutrum.", "Vivamus vestibulum sagittis sapien.", "Mauris sit amet eros.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Suspendisse potenti.", "Vivamus vestibulum sagittis sapien.", "Cras non velit nec nisi vulputate nonummy.", "Nulla tellus.", "Vestibulum sed magna at nunc commodo placerat.", "Integer ac leo.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Suspendisse potenti.", "Etiam faucibus cursus urna.", "Mauris lacinia sapien quis libero.", "Maecenas tincidunt lacus at velit.", "In sagittis dui vel nisl.", "Nulla ac enim.", "Aenean sit amet justo.", "Proin eu mi.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Vivamus vestibulum sagittis sapien.", "Curabitur at ipsum ac tellus semper interdum.", "In hac habitasse platea dictumst.", "Aenean sit amet justo.", "In hac habitasse platea dictumst.", "Vivamus vel nulla eget eros elementum pellentesque.", "Praesent id massa id nisl venenatis lacinia.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Nam tristique tortor eu pede.", "Morbi porttitor lorem id ligula.", "Morbi non quam nec dui luctus rutrum.", "In congue.", "Morbi non quam nec dui luctus rutrum." ] } } } }, { - "codec": "Sara", + "codec":"net.shrine.authorization.CouldNotInterpretResponseFromPmCell", "description": "Nullam sit amet turpis elementum ligula vehicula consequat.", "summary": "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "stampText": "2016-07-02T13:17:38Z", "epoch": "1446474669", "detailsXml": { "exception": { "name": "Pellentesque.js", "message": "Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem.", "stacktrace": { "line": [ "Integer tincidunt ante vel ipsum.", "Aliquam quis turpis eget elit sodales scelerisque.", "Nam tristique tortor eu pede.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Pellentesque at nulla.", "Nunc purus.", "Integer a nibh.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Duis mattis egestas metus.", "Morbi quis tortor id nulla ultrices aliquet.", "Donec quis orci eget orci vehicula condimentum.", "Cras non velit nec nisi vulputate nonummy.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Aliquam erat volutpat.", "Morbi non quam nec dui luctus rutrum.", "Praesent blandit lacinia erat.", "Mauris lacinia sapien quis libero.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Donec vitae nisi.", "Etiam faucibus cursus urna." ] } } } }, { - "codec": "Stephanie", + "codec":"net.shrine.adapter.AdapterDatabaseProblem", "description": "Donec quis orci eget orci vehicula condimentum.", "summary": "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.", "stampText": "2016-06-07T12:59:14Z", "epoch": "1445545358", "detailsXml": { "exception": { "name": "VolutpatDui.js", "message": "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.", "stacktrace": { "line": [ "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Donec quis orci eget orci vehicula condimentum.", "Vestibulum sed magna at nunc commodo placerat.", "Morbi quis tortor id nulla ultrices aliquet.", "Proin at turpis a pede posuere nonummy.", "Donec ut dolor.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Praesent blandit.", "Proin eu mi.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Donec vitae nisi.", "Praesent blandit.", "Donec semper sapien a libero.", "Morbi a ipsum.", "Proin risus.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Vivamus vestibulum sagittis sapien.", "Donec ut dolor.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis." ] } } } }, { - "codec": "Rebecca", + "codec":"net.shrine.qep.PreviousQueryDoesNotExist", "description": "Donec ut mauris eget massa tempor convallis.", "summary": "Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "stampText": "2015-09-16T18:57:53Z", "epoch": "1461038223", "detailsXml": { "exception": { "name": "ConsectetuerAdipiscing.js", "message": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.", "stacktrace": { "line": [ "Praesent lectus.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Phasellus in felis.", "Nam dui.", "Vestibulum sed magna at nunc commodo placerat.", "Praesent blandit.", "Morbi non quam nec dui luctus rutrum.", "Nulla mollis molestie lorem.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Integer a nibh.", "Proin at turpis a pede posuere nonummy.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Phasellus id sapien in sapien iaculis congue.", "In quis justo.", "Vivamus in felis eu sapien cursus vestibulum.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Fusce consequat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Praesent id massa id nisl venenatis lacinia.", "Maecenas rhoncus aliquam lacus.", "Nunc purus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Nullam porttitor lacus at turpis.", "Praesent id massa id nisl venenatis lacinia.", "Donec ut mauris eget massa tempor convallis.", "Vivamus tortor.", "Mauris sit amet eros.", "Sed ante.", "Maecenas pulvinar lobortis est.", "Aenean auctor gravida sem.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "In blandit ultrices enim.", "Aliquam non mauris." ] } } } }, { - "codec": "Jeremy", + "codec":"net.shrine.adapter.AdapterDatabaseProblem", "description": "Aenean fermentum.", "summary": "Quisque ut erat. Curabitur gravida nisi at nibh.", "stampText": "2015-10-16T20:29:48Z", "epoch": "1445211251", "detailsXml": { "exception": { "name": "TristiqueIn.js", "message": "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "stacktrace": { "line": [ "Vivamus tortor.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Phasellus sit amet erat.", "Cras non velit nec nisi vulputate nonummy.", "Vivamus in felis eu sapien cursus vestibulum.", "Morbi quis tortor id nulla ultrices aliquet.", "Etiam pretium iaculis justo.", "Maecenas tincidunt lacus at velit.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Mauris ullamcorper purus sit amet nulla.", "Maecenas tincidunt lacus at velit.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Curabitur at ipsum ac tellus semper interdum.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Morbi non lectus.", "In hac habitasse platea dictumst.", "Aenean fermentum.", "Etiam justo.", "Nullam porttitor lacus at turpis.", "Donec dapibus.", "Nulla suscipit ligula in lacus.", "In sagittis dui vel nisl.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Nunc nisl.", "Suspendisse potenti.", "Aenean sit amet justo.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Vivamus tortor.", "Duis at velit eu est congue elementum.", "Cras pellentesque volutpat dui.", "Nunc rhoncus dui vel sem.", "Fusce consequat.", "Integer ac leo.", "Duis mattis egestas metus.", "Morbi vel lectus in quam fringilla rhoncus.", "Praesent lectus.", "Praesent blandit." ] } } } }]} \ No newline at end of file diff --git a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=20.json b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=20.json index 28ca066f7..32c10838b 100644 --- a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=20.json +++ b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=20.json @@ -1,999 +1,999 @@ {"size":63,"offset":20,"n":20,"problems": [{ - "codec": "Joshua", + "codec":"net.shrine.adapter.components.QueryNotInDatabase", "description": "Suspendisse potenti.", "summary": "Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.", "stampText": "2015-10-03T22:50:09Z", "epoch": "1458628756", "detailsXml": { "exception": { "name": "AIpsumInteger.java", "message": "In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "stacktrace": { "line": [ "Nulla tempus.", "Nulla mollis molestie lorem.", "Integer a nibh.", "Vivamus vestibulum sagittis sapien.", "Duis ac nibh.", "Aenean fermentum.", "Donec quis orci eget orci vehicula condimentum.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Duis mattis egestas metus.", "Nunc purus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Etiam justo.", "Nulla ut erat id mauris vulputate elementum.", "Nulla mollis molestie lorem.", "Aenean sit amet justo.", "Morbi porttitor lorem id ligula.", "Maecenas rhoncus aliquam lacus.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Mauris ullamcorper purus sit amet nulla.", "Integer ac leo.", "Nunc rhoncus dui vel sem.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Ut at dolor quis odio consequat varius.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Vestibulum sed magna at nunc commodo placerat.", "Nulla suscipit ligula in lacus.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Ut at dolor quis odio consequat varius.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Donec vitae nisi.", "Mauris sit amet eros.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Integer ac neque.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Nulla ac enim.", "In hac habitasse platea dictumst.", "Suspendisse ornare consequat lectus.", "In sagittis dui vel nisl.", "Phasellus id sapien in sapien iaculis congue.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Sed vel enim sit amet nunc viverra dapibus.", "In hac habitasse platea dictumst.", "Aenean fermentum.", "Praesent blandit.", "Etiam pretium iaculis justo.", "Pellentesque eget nunc.", "Nulla tempus.", "In hac habitasse platea dictumst." ] } } } }, { - "codec": "Rebecca", + "codec":"net.shrine.authorization.CouldNotReachPmCell", "description": "Nam dui.", "summary": "Nunc rhoncus dui vel sem. Sed sagittis.", "stampText": "2015-09-16T10:52:48Z", "epoch": "1460014356", "detailsXml": { "exception": { "name": "FelisUt.js", "message": "Sed vel enim sit amet nunc viverra dapibus.", "stacktrace": { "line": [ "Cras non velit nec nisi vulputate nonummy.", "Phasellus id sapien in sapien iaculis congue.", "Vivamus tortor.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Suspendisse potenti.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Donec ut mauris eget massa tempor convallis.", "Ut at dolor quis odio consequat varius.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Vivamus vestibulum sagittis sapien.", "In congue.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Aenean fermentum.", "Donec semper sapien a libero.", "Praesent id massa id nisl venenatis lacinia.", "In hac habitasse platea dictumst.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Duis mattis egestas metus.", "Morbi porttitor lorem id ligula.", "In congue.", "Cras pellentesque volutpat dui.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Morbi porttitor lorem id ligula.", "Nullam molestie nibh in lectus.", "Nulla tempus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Nam tristique tortor eu pede.", "In eleifend quam a odio.", "Nullam varius.", "Morbi a ipsum.", "Integer ac leo.", "In hac habitasse platea dictumst.", "Morbi non lectus.", "Nam dui.", "Fusce posuere felis sed lacus.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Praesent id massa id nisl venenatis lacinia.", "Curabitur in libero ut massa volutpat convallis." ] } } } }, { - "codec": "Janice", + "codec":"net.shrine.adapter.QueryResultNotAvailable", "description": "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "summary": "Pellentesque viverra pede ac diam.", "stampText": "2016-07-19T06:32:56Z", "epoch": "1442947556", "detailsXml": { "exception": { "name": "Condimentum.js", "message": "Suspendisse accumsan tortor quis turpis.", "stacktrace": { "line": [ "In blandit ultrices enim.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Duis consequat dui nec nisi volutpat eleifend.", "Nulla suscipit ligula in lacus.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "In sagittis dui vel nisl.", "Aenean lectus.", "Sed ante.", "Praesent blandit.", "Nulla tellus.", "Ut at dolor quis odio consequat varius.", "In congue.", "Nam nulla.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Vivamus tortor.", "Maecenas tincidunt lacus at velit.", "Donec ut mauris eget massa tempor convallis.", "Morbi a ipsum.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Vivamus vestibulum sagittis sapien.", "Proin at turpis a pede posuere nonummy.", "Proin risus.", "Pellentesque at nulla.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Morbi non lectus.", "Fusce consequat.", "Mauris ullamcorper purus sit amet nulla.", "Vestibulum sed magna at nunc commodo placerat.", "Nam dui." ] } } } }, { - "codec": "Patricia", + "codec":"net.shrine.aggregation.CouldNotParseResultsProblem", "description": "Nulla ac enim.", "summary": "Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus.", "stampText": "2015-11-02T13:49:11Z", "epoch": "1442592113", "detailsXml": { "exception": { "name": "SemperPortaVolutpat.html", "message": "Nulla ac enim.", "stacktrace": { "line": [ "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Sed sagittis.", "Integer ac neque.", "Morbi a ipsum.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Quisque ut erat.", "Pellentesque ultrices mattis odio.", "Curabitur in libero ut massa volutpat convallis.", "Duis ac nibh.", "Donec vitae nisi.", "Sed sagittis.", "Donec dapibus.", "Integer non velit.", "Nulla suscipit ligula in lacus.", "Phasellus id sapien in sapien iaculis congue.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Integer ac neque.", "Suspendisse potenti.", "Sed vel enim sit amet nunc viverra dapibus.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Nulla mollis molestie lorem.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Curabitur at ipsum ac tellus semper interdum." ] } } } }, { - "codec": "Jean", + "codec":"net.shrine.adapter.dao.squeryl.BreakdownFailure", "description": "Morbi vel lectus in quam fringilla rhoncus.", "summary": "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "stampText": "2015-07-26T11:40:55Z", "epoch": "1465928224", "detailsXml": { "exception": { "name": "NislNuncNisl.css", "message": "Curabitur gravida nisi at nibh.", "stacktrace": { "line": [ "Nulla facilisi.", "Quisque porta volutpat erat.", "In hac habitasse platea dictumst.", "Nullam molestie nibh in lectus.", "Etiam justo.", "Duis consequat dui nec nisi volutpat eleifend.", "Donec semper sapien a libero.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "In hac habitasse platea dictumst.", "Fusce posuere felis sed lacus.", "Duis bibendum.", "Mauris lacinia sapien quis libero.", "Vivamus vestibulum sagittis sapien.", "Donec vitae nisi.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Donec semper sapien a libero.", "Vivamus vestibulum sagittis sapien.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Sed accumsan felis.", "Duis mattis egestas metus.", "Duis mattis egestas metus.", "In congue.", "Maecenas tincidunt lacus at velit.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Nunc nisl.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa." ] } } } }, { - "codec": "Michelle", + "codec":"net.shrine.adapter.AdapterMappingProblem", "description": "Maecenas rhoncus aliquam lacus.", "summary": "Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat. Praesent blandit.", "stampText": "2016-04-09T09:05:27Z", "epoch": "1456898457", "detailsXml": { "exception": { "name": "QuisLectus.java", "message": "Morbi vel lectus in quam fringilla rhoncus.", "stacktrace": { "line": [ "Nulla nisl.", "Vivamus tortor.", "Donec vitae nisi.", "Nunc nisl.", "Phasellus sit amet erat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Aliquam non mauris.", "Proin interdum mauris non ligula pellentesque ultrices.", "Maecenas pulvinar lobortis est.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Phasellus id sapien in sapien iaculis congue.", "Aenean fermentum.", "Nulla ac enim.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Curabitur gravida nisi at nibh.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Morbi non lectus.", "Sed accumsan felis." ] } } } }, { - "codec": "Arthur", + "codec":"net.shrine.adapter.QueryResultNotAvailable", "description": "Suspendisse potenti.", "summary": "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "stampText": "2016-03-06T22:12:33Z", "epoch": "1467061666", "detailsXml": { "exception": { "name": "DolorSitAmet.java", "message": "Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.", "stacktrace": { "line": [ "Nulla nisl.", "Phasellus sit amet erat.", "Ut at dolor quis odio consequat varius.", "Phasellus id sapien in sapien iaculis congue.", "Cras pellentesque volutpat dui.", "Sed ante.", "Nulla suscipit ligula in lacus.", "Morbi non quam nec dui luctus rutrum.", "Morbi ut odio.", "Duis consequat dui nec nisi volutpat eleifend.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Curabitur convallis.", "Proin at turpis a pede posuere nonummy.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Nulla nisl.", "Quisque ut erat.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Maecenas pulvinar lobortis est.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Duis at velit eu est congue elementum.", "In eleifend quam a odio.", "Donec quis orci eget orci vehicula condimentum.", "Integer non velit.", "Praesent blandit lacinia erat.", "In hac habitasse platea dictumst.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "In quis justo.", "Nulla ac enim.", "Suspendisse potenti.", "Aliquam quis turpis eget elit sodales scelerisque.", "Vivamus tortor.", "In hac habitasse platea dictumst.", "Aenean auctor gravida sem.", "Donec dapibus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Etiam justo.", "Fusce consequat.", "Pellentesque ultrices mattis odio.", "Vivamus vestibulum sagittis sapien.", "Nulla mollis molestie lorem.", "Pellentesque ultrices mattis odio.", "Quisque ut erat.", "Nulla tellus.", "Maecenas tincidunt lacus at velit.", "Praesent blandit lacinia erat.", "Integer ac leo.", "Duis mattis egestas metus.", "Nam nulla." ] } } } }, { - "codec": "Jose", + "codec":"net.shrine.authorization.MissingRequiredRoles", "description": "Mauris lacinia sapien quis libero.", "summary": "Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum.", "stampText": "2016-02-25T05:15:03Z", "epoch": "1464961636", "detailsXml": { "exception": { "name": "Suspendisse.js", "message": "Etiam vel augue. Vestibulum rutrum rutrum neque.", "stacktrace": { "line": [ "In quis justo.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "In blandit ultrices enim.", "Nulla facilisi.", "Curabitur gravida nisi at nibh.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Vivamus tortor.", "Phasellus in felis.", "Nullam molestie nibh in lectus.", "Nunc purus.", "Aenean fermentum.", "Duis at velit eu est congue elementum.", "Maecenas rhoncus aliquam lacus.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Sed ante.", "Aliquam non mauris.", "Nunc rhoncus dui vel sem.", "Integer a nibh.", "Etiam vel augue.", "Praesent blandit.", "Maecenas pulvinar lobortis est." ] } } } }, { - "codec": "Marilyn", + "codec":"net.shrine.qep.PreviousQueryDoesNotExist", "description": "Duis bibendum.", "summary": "Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "stampText": "2016-06-28T20:07:06Z", "epoch": "1454371391", "detailsXml": { "exception": { "name": "IpsumDolor.java", "message": "Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "stacktrace": { "line": [ "Quisque id justo sit amet sapien dignissim vestibulum.", "Nulla facilisi.", "Maecenas tincidunt lacus at velit.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Vestibulum sed magna at nunc commodo placerat.", "Sed sagittis.", "Proin eu mi.", "Nulla tellus.", "Donec dapibus.", "Pellentesque at nulla.", "Etiam vel augue.", "Nunc nisl.", "Aenean sit amet justo.", "Quisque porta volutpat erat.", "Ut at dolor quis odio consequat varius.", "Pellentesque ultrices mattis odio.", "Duis mattis egestas metus.", "Aliquam quis turpis eget elit sodales scelerisque.", "Pellentesque at nulla.", "Pellentesque ultrices mattis odio." ] } } } }, { - "codec": "James", + "codec":"net.shrine.aggregation.NoValidResponsesToAggregate", "description": "Vivamus vel nulla eget eros elementum pellentesque.", "summary": "Aenean fermentum.", "stampText": "2016-07-13T08:56:17Z", "epoch": "1461523308", "detailsXml": { "exception": { "name": "DonecOdio.js", "message": "Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis.", "stacktrace": { "line": [ "Proin interdum mauris non ligula pellentesque ultrices.", "Praesent blandit lacinia erat.", "Nunc rhoncus dui vel sem.", "Nulla ac enim.", "In hac habitasse platea dictumst.", "Fusce consequat.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "In eleifend quam a odio.", "Proin interdum mauris non ligula pellentesque ultrices.", "Donec semper sapien a libero.", "Maecenas tincidunt lacus at velit.", "Nam dui.", "Etiam justo.", "Proin eu mi.", "Cras in purus eu magna vulputate luctus.", "Nulla tellus.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Integer tincidunt ante vel ipsum.", "Cras non velit nec nisi vulputate nonummy.", "Nullam varius.", "Proin eu mi.", "Donec posuere metus vitae ipsum.", "Aenean fermentum.", "Nullam sit amet turpis elementum ligula vehicula consequat." ] } } } }, { - "codec": "Phyllis", + "codec":"net.shrine.adapter.CrcCouldNotBeInvoked", "description": "Aenean sit amet justo.", "summary": "Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.", "stampText": "2016-01-24T17:10:44Z", "epoch": "1462758106", "detailsXml": { "exception": { "name": "VehiculaCondimentumCurabitur.css", "message": "Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim.", "stacktrace": { "line": [ "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Aenean fermentum.", "Nulla ut erat id mauris vulputate elementum.", "Donec dapibus.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Ut at dolor quis odio consequat varius.", "Nulla facilisi.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Pellentesque at nulla.", "Nulla tellus.", "Aenean auctor gravida sem.", "Mauris ullamcorper purus sit amet nulla.", "Maecenas ut massa quis augue luctus tincidunt.", "Integer ac leo.", "Nulla justo.", "Nullam molestie nibh in lectus.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Vivamus vel nulla eget eros elementum pellentesque.", "Nam dui.", "Curabitur at ipsum ac tellus semper interdum.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Quisque id justo sit amet sapien dignissim vestibulum.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Nam dui.", "Suspendisse accumsan tortor quis turpis.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "In sagittis dui vel nisl.", "Maecenas tincidunt lacus at velit.", "Nunc rhoncus dui vel sem.", "Suspendisse potenti.", "In eleifend quam a odio.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue." ] } } } }, { - "codec": "Debra", + "codec":"net.shrine.adapter.client.HttpErrorCodeFromAdapter", "description": "Curabitur gravida nisi at nibh.", "summary": "Nulla facilisi.", "stampText": "2015-11-18T00:04:24Z", "epoch": "1466089609", "detailsXml": { "exception": { "name": "TemporConvallis.css", "message": "Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit.", "stacktrace": { "line": [ "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Vivamus vel nulla eget eros elementum pellentesque.", "Nulla ac enim.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Donec semper sapien a libero.", "Nam dui.", "Integer non velit.", "Aenean lectus.", "Fusce consequat.", "Nulla mollis molestie lorem.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Aliquam erat volutpat.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Nullam varius.", "Suspendisse accumsan tortor quis turpis.", "Duis bibendum.", "Morbi vel lectus in quam fringilla rhoncus.", "Quisque porta volutpat erat.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc." ] } } } }, { - "codec": "Ruth", + "codec":"net.shrine.qep.queries.QepDatabaseProblem", "description": "In eleifend quam a odio.", "summary": "Suspendisse accumsan tortor quis turpis.", "stampText": "2016-02-20T17:29:20Z", "epoch": "1450981215", "detailsXml": { "exception": { "name": "CuraeMauris.js", "message": "Vivamus vestibulum sagittis sapien.", "stacktrace": { "line": [ "Suspendisse ornare consequat lectus.", "Nulla ac enim.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Vivamus in felis eu sapien cursus vestibulum.", "Aenean fermentum.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Duis at velit eu est congue elementum.", "Cras in purus eu magna vulputate luctus.", "Integer ac neque.", "In blandit ultrices enim.", "Suspendisse ornare consequat lectus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Ut tellus.", "Pellentesque viverra pede ac diam.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Sed accumsan felis.", "Aenean lectus.", "Duis mattis egestas metus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Curabitur at ipsum ac tellus semper interdum.", "Maecenas ut massa quis augue luctus tincidunt.", "Morbi porttitor lorem id ligula.", "Nulla ut erat id mauris vulputate elementum.", "In est risus, auctor sed, tristique in, tempus sit amet, sem." ] } } } }, { - "codec": "Tammy", + "codec":"net.shrine.authorization.CouldNotReachPmCell", "description": "In hac habitasse platea dictumst.", "summary": "Maecenas ut massa quis augue luctus tincidunt.", "stampText": "2015-11-26T11:15:13Z", "epoch": "1446755667", "detailsXml": { "exception": { "name": "Eget.js", "message": "Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis.", "stacktrace": { "line": [ "Nullam porttitor lacus at turpis.", "Duis consequat dui nec nisi volutpat eleifend.", "Integer non velit.", "Nulla tellus.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Aliquam non mauris.", "Vivamus tortor.", "Donec ut dolor.", "Cras non velit nec nisi vulputate nonummy.", "Proin risus.", "Suspendisse potenti.", "Morbi non lectus.", "Morbi non lectus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Vivamus in felis eu sapien cursus vestibulum.", "Etiam vel augue.", "In eleifend quam a odio.", "Maecenas ut massa quis augue luctus tincidunt.", "Aliquam non mauris.", "Pellentesque eget nunc.", "Proin eu mi.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Mauris lacinia sapien quis libero.", "Cras pellentesque volutpat dui.", "Nulla tellus.", "Nulla suscipit ligula in lacus.", "Maecenas pulvinar lobortis est.", "Praesent id massa id nisl venenatis lacinia.", "Aenean lectus.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Sed accumsan felis.", "Suspendisse accumsan tortor quis turpis.", "Suspendisse ornare consequat lectus.", "Sed sagittis.", "Etiam vel augue.", "Sed sagittis.", "Duis aliquam convallis nunc.", "Phasellus sit amet erat.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Praesent blandit lacinia erat.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Vivamus vel nulla eget eros elementum pellentesque.", "Aenean sit amet justo.", "Aliquam quis turpis eget elit sodales scelerisque.", "In hac habitasse platea dictumst." ] } } } }, { - "codec": "Janet", + "codec":"net.shrine.aggregation.HttpErrorResponseProblem", "description": "Aenean sit amet justo.", "summary": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "stampText": "2015-11-20T07:50:04Z", "epoch": "1446298525", "detailsXml": { "exception": { "name": "Auctor.java", "message": "Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat.", "stacktrace": { "line": [ "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Cras non velit nec nisi vulputate nonummy.", "Curabitur at ipsum ac tellus semper interdum.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Maecenas tincidunt lacus at velit.", "Donec ut dolor.", "Praesent blandit.", "Donec quis orci eget orci vehicula condimentum.", "Vivamus vel nulla eget eros elementum pellentesque.", "Curabitur in libero ut massa volutpat convallis.", "Donec semper sapien a libero.", "Praesent id massa id nisl venenatis lacinia.", "Donec quis orci eget orci vehicula condimentum.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Maecenas pulvinar lobortis est.", "Phasellus sit amet erat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Aliquam erat volutpat.", "Curabitur in libero ut massa volutpat convallis.", "Proin at turpis a pede posuere nonummy.", "In blandit ultrices enim.", "Sed ante.", "Integer ac neque.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Donec semper sapien a libero.", "Duis mattis egestas metus.", "Nulla mollis molestie lorem.", "Fusce posuere felis sed lacus.", "Phasellus id sapien in sapien iaculis congue.", "Donec vitae nisi.", "Sed ante.", "Cras non velit nec nisi vulputate nonummy.", "Ut at dolor quis odio consequat varius.", "Vivamus in felis eu sapien cursus vestibulum.", "Etiam justo.", "Ut tellus.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Curabitur at ipsum ac tellus semper interdum.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Aenean auctor gravida sem.", "In hac habitasse platea dictumst.", "Sed vel enim sit amet nunc viverra dapibus.", "Maecenas tincidunt lacus at velit.", "In est risus, auctor sed, tristique in, tempus sit amet, sem." ] } } } }, { - "codec": "Anna", + "codec":"net.shrine.authorization.ErrorStatusFromDataStewardApp", "description": "Morbi non lectus.", "summary": "Nullam sit amet turpis elementum ligula vehicula consequat.", "stampText": "2016-04-20T00:58:49Z", "epoch": "1445883641", "detailsXml": { "exception": { "name": "Tellus.js", "message": "Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.", "stacktrace": { "line": [ "Donec ut mauris eget massa tempor convallis.", "Nulla suscipit ligula in lacus.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Integer ac leo.", "Pellentesque at nulla.", "Aliquam non mauris.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Pellentesque eget nunc.", "Maecenas rhoncus aliquam lacus.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Phasellus id sapien in sapien iaculis congue.", "Duis at velit eu est congue elementum.", "Aenean fermentum.", "Phasellus id sapien in sapien iaculis congue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Nam nulla.", "Pellentesque at nulla.", "Etiam vel augue.", "Maecenas pulvinar lobortis est.", "Etiam faucibus cursus urna.", "In hac habitasse platea dictumst.", "Sed vel enim sit amet nunc viverra dapibus.", "Quisque ut erat.", "Fusce posuere felis sed lacus.", "Maecenas pulvinar lobortis est.", "In blandit ultrices enim.", "Mauris sit amet eros.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nulla facilisi.", "Maecenas rhoncus aliquam lacus.", "Praesent blandit lacinia erat.", "Sed vel enim sit amet nunc viverra dapibus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Nulla facilisi.", "Vivamus in felis eu sapien cursus vestibulum.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla." ] } } } }, { - "codec": "Joyce", + "codec":"net.shrine.authorization.CouldNotReachPmCell", "description": "Proin interdum mauris non ligula pellentesque ultrices.", "summary": "Praesent id massa id nisl venenatis lacinia.", "stampText": "2015-11-27T09:03:10Z", "epoch": "1444653978", "detailsXml": { "exception": { "name": "EtiamFaucibusCursus.js", "message": "In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "stacktrace": { "line": [ "Suspendisse ornare consequat lectus.", "Praesent lectus.", "Suspendisse ornare consequat lectus.", "Etiam justo.", "Praesent lectus.", "Fusce consequat.", "Cras in purus eu magna vulputate luctus.", "Quisque porta volutpat erat.", "Phasellus id sapien in sapien iaculis congue.", "Vivamus tortor.", "Vivamus tortor.", "Praesent id massa id nisl venenatis lacinia.", "Nulla suscipit ligula in lacus.", "Cras non velit nec nisi vulputate nonummy.", "Donec ut mauris eget massa tempor convallis.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Duis at velit eu est congue elementum.", "Etiam justo.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Nam nulla.", "Nulla ut erat id mauris vulputate elementum.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Aliquam quis turpis eget elit sodales scelerisque.", "Cras non velit nec nisi vulputate nonummy.", "Maecenas ut massa quis augue luctus tincidunt.", "Vestibulum sed magna at nunc commodo placerat.", "Curabitur convallis.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Pellentesque at nulla.", "Nullam varius.", "In eleifend quam a odio.", "Etiam faucibus cursus urna.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Integer ac leo.", "Etiam vel augue.", "Proin at turpis a pede posuere nonummy.", "Proin risus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Aliquam sit amet diam in magna bibendum imperdiet.", "In eleifend quam a odio.", "Fusce consequat.", "Etiam justo." ] } } } }, { - "codec": "Fred", + "codec":"net.shrine.protocol.ErrorStatusFromCrc", "description": "Nunc nisl.", "summary": "Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "stampText": "2016-04-30T05:54:34Z", "epoch": "1468661819", "detailsXml": { "exception": { "name": "CommodoPlaceratPraesent.java", "message": "Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "stacktrace": { "line": [ "In quis justo.", "Donec quis orci eget orci vehicula condimentum.", "In hac habitasse platea dictumst.", "Donec posuere metus vitae ipsum.", "Proin eu mi.", "Aenean fermentum.", "Nunc purus.", "Phasellus in felis.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "In blandit ultrices enim.", "Suspendisse potenti.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Morbi vel lectus in quam fringilla rhoncus.", "Duis at velit eu est congue elementum.", "Nunc rhoncus dui vel sem.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Maecenas rhoncus aliquam lacus.", "Maecenas rhoncus aliquam lacus.", "Etiam pretium iaculis justo.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Pellentesque eget nunc.", "Donec vitae nisi.", "Etiam faucibus cursus urna.", "Aenean sit amet justo.", "Sed accumsan felis." ] } } } }, { - "codec": "Gary", + "codec":"net.shrine.adapter.dao.squeryl.BreakdownFailure", "description": "Nunc nisl.", "summary": "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "stampText": "2016-01-23T13:09:51Z", "epoch": "1467999258", "detailsXml": { "exception": { "name": "Eget.js", "message": "Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius.", "stacktrace": { "line": [ "Quisque porta volutpat erat.", "Pellentesque viverra pede ac diam.", "In hac habitasse platea dictumst.", "Pellentesque eget nunc.", "Aenean fermentum.", "In hac habitasse platea dictumst.", "Nunc purus.", "Cras pellentesque volutpat dui.", "Donec vitae nisi.", "Suspendisse potenti.", "Praesent blandit lacinia erat.", "Nam dui.", "Pellentesque ultrices mattis odio.", "Pellentesque viverra pede ac diam.", "In hac habitasse platea dictumst.", "Donec posuere metus vitae ipsum.", "Donec ut dolor.", "Nulla ut erat id mauris vulputate elementum.", "Nullam porttitor lacus at turpis.", "Suspendisse potenti.", "In hac habitasse platea dictumst.", "Nulla suscipit ligula in lacus.", "Aliquam non mauris.", "Morbi ut odio.", "Maecenas tincidunt lacus at velit.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Cras pellentesque volutpat dui.", "Donec ut mauris eget massa tempor convallis.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Morbi non lectus.", "Quisque porta volutpat erat.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nulla tellus.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Praesent blandit.", "In sagittis dui vel nisl.", "Quisque id justo sit amet sapien dignissim vestibulum." ] } } } }, { - "codec": "Donald", + "codec":"net.shrine.aggregation.CouldNotConnectToAdapter", "description": "Nulla nisl.", "summary": "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy.", "stampText": "2016-06-18T05:27:38Z", "epoch": "1439300934", "detailsXml": { "exception": { "name": "FaucibusOrciLuctus.js", "message": "Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.", "stacktrace": { "line": [ "Duis mattis egestas metus.", "Ut tellus.", "Pellentesque ultrices mattis odio.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "In congue.", "Cras non velit nec nisi vulputate nonummy.", "Phasellus sit amet erat.", "Maecenas ut massa quis augue luctus tincidunt.", "Etiam vel augue.", "Aliquam non mauris.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Nulla facilisi.", "Nulla facilisi.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Vivamus tortor.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Duis mattis egestas metus.", "Donec posuere metus vitae ipsum.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Proin at turpis a pede posuere nonummy.", "Pellentesque eget nunc.", "Etiam pretium iaculis justo.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Duis aliquam convallis nunc.", "Sed vel enim sit amet nunc viverra dapibus.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Integer non velit.", "Vestibulum rutrum rutrum neque.", "In hac habitasse platea dictumst.", "Etiam justo.", "In quis justo.", "Duis ac nibh.", "Curabitur convallis.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Aliquam erat volutpat.", "Cras pellentesque volutpat dui.", "Maecenas rhoncus aliquam lacus.", "Pellentesque eget nunc.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Nulla tempus.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla." ] } } } }]} \ No newline at end of file diff --git a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=40.json b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=40.json index 0c372c33f..4199ef1e2 100644 --- a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=40.json +++ b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=40.json @@ -1,1035 +1,1035 @@ {"size":63,"offset":40,"n":20,"problems": [{ - "codec": "Cheryl", + "codec":"net.shrine.protocol.ErrorStatusFromCrc", "description": "Nulla suscipit ligula in lacus.", "summary": "Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum.", "stampText": "2015-09-08T11:27:03Z", "epoch": "1446494372", "detailsXml": { "exception": { "name": "Nisl.js", "message": "In sagittis dui vel nisl. Duis ac nibh.", "stacktrace": { "line": [ "Nulla facilisi.", "Aliquam non mauris.", "Cras pellentesque volutpat dui.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Fusce consequat.", "Duis ac nibh.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Aenean fermentum.", "Duis consequat dui nec nisi volutpat eleifend.", "Nullam varius.", "Donec ut mauris eget massa tempor convallis.", "Maecenas ut massa quis augue luctus tincidunt.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Aliquam non mauris.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Aenean lectus.", "Praesent blandit lacinia erat.", "Aenean sit amet justo.", "Nunc nisl.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Nulla justo.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Aenean lectus.", "Nulla nisl.", "Pellentesque eget nunc.", "Suspendisse potenti." ] } } } }, { - "codec": "Joshua", + "codec":"net.shrine.adapter.QueryResultNotAvailable", "description": "Nunc purus.", "summary": "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "stampText": "2016-05-21T01:32:50Z", "epoch": "1444778415", "detailsXml": { "exception": { "name": "DiamIdOrnare.java", "message": "Etiam faucibus cursus urna. Ut tellus.", "stacktrace": { "line": [ "Maecenas pulvinar lobortis est.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Proin at turpis a pede posuere nonummy.", "Maecenas pulvinar lobortis est.", "Nulla suscipit ligula in lacus.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Nam dui.", "Nulla tellus.", "Mauris ullamcorper purus sit amet nulla.", "Donec dapibus.", "Vivamus vel nulla eget eros elementum pellentesque.", "Nam nulla.", "Duis consequat dui nec nisi volutpat eleifend.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Ut tellus.", "Aliquam quis turpis eget elit sodales scelerisque.", "Vivamus in felis eu sapien cursus vestibulum.", "Cras pellentesque volutpat dui.", "Ut tellus.", "Praesent blandit lacinia erat.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Suspendisse accumsan tortor quis turpis.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Integer a nibh.", "Sed accumsan felis.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "In hac habitasse platea dictumst.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Nulla tempus.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Aliquam erat volutpat.", "Sed sagittis.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Curabitur in libero ut massa volutpat convallis.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Morbi quis tortor id nulla ultrices aliquet.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "In hac habitasse platea dictumst.", "Morbi porttitor lorem id ligula." ] } } } }, { - "codec": "Rebecca", + "codec":"net.shrine.protocol.ErrorStatusFromCrc", "description": "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "summary": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "stampText": "2015-08-12T13:28:35Z", "epoch": "1455213769", "detailsXml": { "exception": { "name": "Ligula.js", "message": "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue.", "stacktrace": { "line": [ "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Duis bibendum.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Donec posuere metus vitae ipsum.", "Mauris ullamcorper purus sit amet nulla.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Suspendisse ornare consequat lectus.", "Nulla ac enim.", "Duis bibendum.", "Nunc nisl.", "Vivamus vel nulla eget eros elementum pellentesque.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Curabitur at ipsum ac tellus semper interdum.", "Aliquam erat volutpat.", "Etiam faucibus cursus urna.", "Morbi non quam nec dui luctus rutrum.", "Quisque ut erat.", "Fusce consequat.", "Cras pellentesque volutpat dui.", "Phasellus id sapien in sapien iaculis congue.", "Maecenas rhoncus aliquam lacus.", "Morbi a ipsum.", "Donec dapibus.", "Praesent lectus.", "Morbi quis tortor id nulla ultrices aliquet.", "Nulla mollis molestie lorem.", "Phasellus in felis.", "Mauris lacinia sapien quis libero.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "In hac habitasse platea dictumst." ] } } } }, { - "codec": "Rebecca", + "codec":"net.shrine.adapter.CrcCouldNotBeInvoked", "description": "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "summary": "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "stampText": "2015-09-15T17:46:00Z", "epoch": "1460771080", "detailsXml": { "exception": { "name": "AugueASuscipit.css", "message": "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim.", "stacktrace": { "line": [ "Donec ut mauris eget massa tempor convallis.", "Aliquam quis turpis eget elit sodales scelerisque.", "Curabitur in libero ut massa volutpat convallis.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Vivamus vel nulla eget eros elementum pellentesque.", "Sed sagittis.", "Nulla nisl.", "Morbi quis tortor id nulla ultrices aliquet.", "Vestibulum sed magna at nunc commodo placerat.", "Sed accumsan felis.", "Nulla tempus.", "Integer tincidunt ante vel ipsum.", "Nulla suscipit ligula in lacus.", "Nulla suscipit ligula in lacus.", "Vestibulum sed magna at nunc commodo placerat.", "Proin at turpis a pede posuere nonummy.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Vivamus tortor.", "Maecenas rhoncus aliquam lacus.", "Nulla ut erat id mauris vulputate elementum.", "Donec ut dolor.", "Duis ac nibh.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Duis bibendum.", "Nulla nisl.", "Sed vel enim sit amet nunc viverra dapibus.", "Vivamus tortor.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Donec vitae nisi.", "Morbi porttitor lorem id ligula.", "Suspendisse potenti.", "In hac habitasse platea dictumst.", "Suspendisse ornare consequat lectus.", "Donec semper sapien a libero.", "Praesent blandit.", "Nunc nisl.", "Etiam faucibus cursus urna.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Pellentesque at nulla.", "Phasellus sit amet erat.", "Curabitur convallis.", "Maecenas pulvinar lobortis est." ] } } } }, { - "codec": "Evelyn", + "codec":"net.shrine.authorization.CouldNotInterpretResponseFromPmCell", "description": "Nulla facilisi.", "summary": "Vivamus in felis eu sapien cursus vestibulum.", "stampText": "2016-07-22T11:53:53Z", "epoch": "1443128443", "detailsXml": { "exception": { "name": "LuctusRutrumNulla.css", "message": "In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "stacktrace": { "line": [ "Pellentesque viverra pede ac diam.", "Pellentesque viverra pede ac diam.", "Duis aliquam convallis nunc.", "Ut tellus.", "Morbi non lectus.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "In hac habitasse platea dictumst.", "Cras in purus eu magna vulputate luctus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nullam porttitor lacus at turpis.", "Nulla facilisi.", "Proin risus.", "Sed ante.", "Phasellus in felis.", "Proin at turpis a pede posuere nonummy.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Phasellus id sapien in sapien iaculis congue.", "Maecenas ut massa quis augue luctus tincidunt.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Ut at dolor quis odio consequat varius.", "Morbi non lectus.", "Morbi vel lectus in quam fringilla rhoncus.", "Curabitur in libero ut massa volutpat convallis.", "Morbi non lectus.", "Praesent blandit lacinia erat.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Praesent lectus.", "Aenean fermentum.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Suspendisse potenti." ] } } } }, { - "codec": "Peter", + "codec":"net.shrine.authorization.HMSNotAuthenticatedProblem", "description": "Cras non velit nec nisi vulputate nonummy.", "summary": "Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "stampText": "2016-06-18T14:19:43Z", "epoch": "1459678141", "detailsXml": { "exception": { "name": "InFelisEu.js", "message": "Donec posuere metus vitae ipsum. Aliquam non mauris.", "stacktrace": { "line": [ "Sed accumsan felis.", "Etiam faucibus cursus urna.", "Donec quis orci eget orci vehicula condimentum.", "Donec dapibus.", "Nullam molestie nibh in lectus.", "Integer a nibh.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Quisque porta volutpat erat.", "Suspendisse ornare consequat lectus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "In blandit ultrices enim.", "Duis at velit eu est congue elementum.", "Pellentesque ultrices mattis odio.", "Suspendisse potenti.", "Donec ut dolor.", "Mauris sit amet eros.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Sed vel enim sit amet nunc viverra dapibus.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Praesent id massa id nisl venenatis lacinia.", "Curabitur gravida nisi at nibh.", "Nulla ac enim." ] } } } }, { - "codec": "Jason", + "codec":"net.shrine.authentication.NotAuthenticatedProblem", "description": "Quisque ut erat.", "summary": "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim.", "stampText": "2015-11-21T20:16:23Z", "epoch": "1442888560", "detailsXml": { "exception": { "name": "Et.js", "message": "Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", "stacktrace": { "line": [ "Donec semper sapien a libero.", "Maecenas tincidunt lacus at velit.", "Morbi ut odio.", "In quis justo.", "Aliquam quis turpis eget elit sodales scelerisque.", "Pellentesque at nulla.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Etiam justo.", "Nunc rhoncus dui vel sem.", "Aenean lectus.", "Fusce posuere felis sed lacus.", "Integer non velit.", "Vivamus tortor.", "Mauris ullamcorper purus sit amet nulla.", "Etiam vel augue.", "In quis justo.", "Maecenas pulvinar lobortis est.", "Morbi ut odio.", "Aenean sit amet justo.", "Ut tellus.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Sed vel enim sit amet nunc viverra dapibus.", "Donec quis orci eget orci vehicula condimentum.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Maecenas pulvinar lobortis est.", "Donec semper sapien a libero." ] } } } }, { - "codec": "Carolyn", + "codec":"net.shrine.authorization.ErrorStatusFromDataStewardApp", "description": "Etiam vel augue.", "summary": "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim.", "stampText": "2016-05-30T21:28:21Z", "epoch": "1465148443", "detailsXml": { "exception": { "name": "SapienQuisLibero.js", "message": "Vestibulum sed magna at nunc commodo placerat. Praesent blandit.", "stacktrace": { "line": [ "Vestibulum sed magna at nunc commodo placerat.", "Suspendisse ornare consequat lectus.", "In est risus, auctor sed, tristique in, tempus sit amet, sem.", "Integer tincidunt ante vel ipsum.", "Aenean auctor gravida sem.", "Morbi quis tortor id nulla ultrices aliquet.", "Suspendisse accumsan tortor quis turpis.", "Praesent blandit lacinia erat.", "Integer a nibh.", "Nam tristique tortor eu pede.", "Morbi porttitor lorem id ligula.", "Fusce consequat.", "Nulla mollis molestie lorem.", "Vestibulum rutrum rutrum neque.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Integer a nibh.", "Phasellus sit amet erat.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Fusce posuere felis sed lacus.", "Aliquam sit amet diam in magna bibendum imperdiet.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nulla justo.", "Nulla tempus.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Maecenas tincidunt lacus at velit.", "Nam nulla.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Maecenas rhoncus aliquam lacus.", "In quis justo.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Aenean fermentum.", "Duis consequat dui nec nisi volutpat eleifend.", "Nulla tellus.", "Phasellus sit amet erat.", "Nam tristique tortor eu pede.", "Nulla suscipit ligula in lacus.", "Nullam molestie nibh in lectus.", "Morbi ut odio.", "Nullam porttitor lacus at turpis.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Proin at turpis a pede posuere nonummy.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Nulla mollis molestie lorem.", "Curabitur at ipsum ac tellus semper interdum.", "Integer ac leo.", "Pellentesque ultrices mattis odio." ] } } } }, { - "codec": "Carl", + "codec":"net.shrine.adapter.AdapterMappingProblem", "description": "Aenean sit amet justo.", "summary": "Duis ac nibh.", "stampText": "2016-01-02T13:31:23Z", "epoch": "1448832282", "detailsXml": { "exception": { "name": "OrnareImperdietSapien.js", "message": "Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.", "stacktrace": { "line": [ "In congue.", "Donec quis orci eget orci vehicula condimentum.", "In congue.", "Donec vitae nisi.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Pellentesque at nulla.", "Duis bibendum.", "Morbi ut odio.", "Vivamus vestibulum sagittis sapien.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "In hac habitasse platea dictumst.", "Quisque porta volutpat erat.", "In hac habitasse platea dictumst.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Sed accumsan felis.", "Sed vel enim sit amet nunc viverra dapibus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Maecenas tincidunt lacus at velit.", "Quisque porta volutpat erat.", "Nulla justo.", "Etiam vel augue.", "Mauris lacinia sapien quis libero.", "Pellentesque at nulla.", "Maecenas pulvinar lobortis est.", "Duis bibendum.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Sed accumsan felis.", "Morbi non lectus.", "Maecenas ut massa quis augue luctus tincidunt." ] } } } }, { - "codec": "Gary", + "codec":"net.shrine.authorization.MissingRequiredRoles", "description": "Integer ac leo.", "summary": "Nam nulla.", "stampText": "2015-11-03T08:26:29Z", "epoch": "1450761449", "detailsXml": { "exception": { "name": "Rutrum.java", "message": "Integer ac neque. Duis bibendum.", "stacktrace": { "line": [ "Etiam justo.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Suspendisse potenti.", "Maecenas ut massa quis augue luctus tincidunt.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Morbi quis tortor id nulla ultrices aliquet.", "Praesent blandit.", "Nullam porttitor lacus at turpis.", "Duis ac nibh.", "Duis bibendum.", "Suspendisse potenti.", "Mauris sit amet eros.", "Duis consequat dui nec nisi volutpat eleifend.", "Suspendisse accumsan tortor quis turpis.", "Donec dapibus.", "Pellentesque viverra pede ac diam.", "Sed vel enim sit amet nunc viverra dapibus.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "In congue.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Nam dui.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Etiam vel augue.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla." ] } } } }, { - "codec": "Sara", + "codec":"net.shrine.adapter.QueryResultNotAvailable", "description": "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "summary": "Nulla suscipit ligula in lacus. Curabitur at ipsum ac tellus semper interdum.", "stampText": "2016-02-08T13:04:04Z", "epoch": "1442090109", "detailsXml": { "exception": { "name": "VenenatisNonSodales.js", "message": "In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "stacktrace": { "line": [ "Donec ut mauris eget massa tempor convallis.", "Vivamus vel nulla eget eros elementum pellentesque.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Nullam molestie nibh in lectus.", "Proin at turpis a pede posuere nonummy.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Donec semper sapien a libero.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "In hac habitasse platea dictumst.", "Maecenas rhoncus aliquam lacus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Curabitur gravida nisi at nibh.", "Donec posuere metus vitae ipsum.", "Cras in purus eu magna vulputate luctus.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Integer a nibh.", "In hac habitasse platea dictumst.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", "Mauris lacinia sapien quis libero.", "Integer ac leo.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Curabitur in libero ut massa volutpat convallis.", "Pellentesque eget nunc.", "Donec dapibus." ] } } } }, { - "codec": "Harold", + "codec":"net.shrine.adapter.CrcCouldNotBeInvoked", "description": "Aliquam quis turpis eget elit sodales scelerisque.", "summary": "Phasellus sit amet erat.", "stampText": "2015-12-28T18:03:43Z", "epoch": "1456490453", "detailsXml": { "exception": { "name": "AnteNullaJusto.js", "message": "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "stacktrace": { "line": [ "Aliquam erat volutpat.", "Mauris sit amet eros.", "Duis bibendum.", "Sed vel enim sit amet nunc viverra dapibus.", "Vivamus vel nulla eget eros elementum pellentesque.", "Curabitur in libero ut massa volutpat convallis.", "Nulla justo.", "Nunc purus.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Praesent id massa id nisl venenatis lacinia.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Duis at velit eu est congue elementum.", "Maecenas tincidunt lacus at velit.", "Pellentesque ultrices mattis odio.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Nulla suscipit ligula in lacus.", "Integer ac leo.", "Phasellus in felis.", "Suspendisse potenti.", "Aenean sit amet justo.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Praesent id massa id nisl venenatis lacinia.", "Nunc nisl.", "Maecenas tincidunt lacus at velit.", "Quisque porta volutpat erat.", "Integer ac neque.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Donec semper sapien a libero.", "Phasellus sit amet erat.", "Morbi a ipsum.", "Ut at dolor quis odio consequat varius.", "Quisque porta volutpat erat.", "Vestibulum ac est lacinia nisi venenatis tristique.", "Donec ut dolor.", "Vivamus vel nulla eget eros elementum pellentesque.", "Sed ante.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci." ] } } } }, { - "codec": "Roy", + "codec":"net.shrine.aggregation.NoValidResponsesToAggregate", "description": "Etiam vel augue.", "summary": "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede. Morbi porttitor lorem id ligula.", "stampText": "2015-08-21T03:32:47Z", "epoch": "1443171111", "detailsXml": { "exception": { "name": "PellentesqueVolutpat.html", "message": "Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit.", "stacktrace": { "line": [ "Vivamus tortor.", "Vivamus in felis eu sapien cursus vestibulum.", "Duis mattis egestas metus.", "Integer non velit.", "Suspendisse potenti.", "Vestibulum rutrum rutrum neque.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "Maecenas pulvinar lobortis est.", "Pellentesque ultrices mattis odio.", "Nam dui.", "Morbi quis tortor id nulla ultrices aliquet.", "Nullam molestie nibh in lectus.", "Sed accumsan felis.", "Nam dui.", "Sed vel enim sit amet nunc viverra dapibus.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Cras pellentesque volutpat dui.", "Pellentesque viverra pede ac diam.", "Duis bibendum.", "Integer a nibh.", "In hac habitasse platea dictumst.", "Cras pellentesque volutpat dui.", "Praesent blandit lacinia erat.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Sed vel enim sit amet nunc viverra dapibus.", "Morbi a ipsum.", "In blandit ultrices enim.", "Nullam molestie nibh in lectus.", "Donec quis orci eget orci vehicula condimentum.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Vivamus vel nulla eget eros elementum pellentesque.", "Aliquam erat volutpat.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Vivamus in felis eu sapien cursus vestibulum.", "Praesent lectus.", "Vestibulum sed magna at nunc commodo placerat." ] } } } }, { - "codec": "Diane", + "codec":"net.shrine.protocol.ErrorStatusFromCrc", "description": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", "summary": "Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat. Praesent blandit.", "stampText": "2015-10-09T02:47:12Z", "epoch": "1468591554", "detailsXml": { "exception": { "name": "Molestie.js", "message": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "stacktrace": { "line": [ "Nullam porttitor lacus at turpis.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", "Ut at dolor quis odio consequat varius.", "In hac habitasse platea dictumst.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Mauris sit amet eros.", "Donec vitae nisi.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Pellentesque ultrices mattis odio.", "Morbi vel lectus in quam fringilla rhoncus.", "Pellentesque viverra pede ac diam.", "Morbi non lectus.", "Aenean lectus.", "Nulla ut erat id mauris vulputate elementum.", "Vivamus tortor.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Vestibulum rutrum rutrum neque.", "Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Maecenas rhoncus aliquam lacus.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Morbi vel lectus in quam fringilla rhoncus.", "Etiam faucibus cursus urna.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Aliquam quis turpis eget elit sodales scelerisque.", "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante." ] } } } }, { - "codec": "Scott", + "codec":"net.shrine.aggregation.NoValidResponsesToAggregate", "description": "Praesent id massa id nisl venenatis lacinia.", "summary": "Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat.", "stampText": "2016-01-03T17:10:20Z", "epoch": "1468028190", "detailsXml": { "exception": { "name": "Venenatis.js", "message": "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend.", "stacktrace": { "line": [ "Donec semper sapien a libero.", "Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.", "Sed accumsan felis.", "Nulla tellus.", "Morbi non quam nec dui luctus rutrum.", "Proin at turpis a pede posuere nonummy.", "Nulla ut erat id mauris vulputate elementum.", "Aliquam erat volutpat.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "Etiam justo.", "Praesent id massa id nisl venenatis lacinia.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Morbi a ipsum.", "Morbi vel lectus in quam fringilla rhoncus.", "Duis consequat dui nec nisi volutpat eleifend.", "Proin eu mi.", "Nulla mollis molestie lorem.", "In blandit ultrices enim.", "Nullam porttitor lacus at turpis.", "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", "Sed ante.", "Cras pellentesque volutpat dui.", "Pellentesque at nulla.", "Quisque ut erat.", "Morbi porttitor lorem id ligula.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Etiam justo.", "Suspendisse potenti.", "Vivamus tortor.", "Pellentesque viverra pede ac diam.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Suspendisse potenti.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Donec dapibus.", "In quis justo.", "Nullam varius.", "Mauris lacinia sapien quis libero.", "Vivamus vel nulla eget eros elementum pellentesque.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Sed accumsan felis.", "Vestibulum sed magna at nunc commodo placerat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Donec ut dolor.", "Nullam varius.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Nunc nisl." ] } } } }, { - "codec": "Kenneth", + "codec":"net.shrine.adapter.client.CouldNotParseXmlFromAdapter", "description": "Nullam sit amet turpis elementum ligula vehicula consequat.", "summary": "Fusce consequat.", "stampText": "2016-05-20T11:26:14Z", "epoch": "1456730753", "detailsXml": { "exception": { "name": "Quam.html", "message": "Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.", "stacktrace": { "line": [ "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Aliquam erat volutpat.", "Morbi vel lectus in quam fringilla rhoncus.", "Nam nulla.", "Integer ac neque.", "Donec posuere metus vitae ipsum.", "Morbi ut odio.", "Curabitur in libero ut massa volutpat convallis.", "Curabitur convallis.", "In hac habitasse platea dictumst.", "Praesent id massa id nisl venenatis lacinia.", "In hac habitasse platea dictumst.", "Proin interdum mauris non ligula pellentesque ultrices.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Ut tellus.", "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", "Duis ac nibh.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Fusce posuere felis sed lacus.", "Suspendisse potenti.", "Maecenas tincidunt lacus at velit.", "Pellentesque at nulla.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est." ] } } } }, { - "codec": "Wayne", + "codec":"net.shrine.aggregation.TimedOutWithAdapter", "description": "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "summary": "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.", "stampText": "2015-11-10T15:01:04Z", "epoch": "1453270745", "detailsXml": { "exception": { "name": "Nisl.java", "message": "Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.", "stacktrace": { "line": [ "Ut at dolor quis odio consequat varius.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Etiam justo.", "Integer ac neque.", "Etiam vel augue.", "Pellentesque eget nunc.", "Nullam varius.", "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Morbi quis tortor id nulla ultrices aliquet.", "Suspendisse potenti.", "Pellentesque eget nunc.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "Integer ac leo.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", "Morbi ut odio.", "Aenean fermentum.", "Sed sagittis.", "Nulla tellus.", "Mauris lacinia sapien quis libero.", "In congue.", "Suspendisse potenti.", "Maecenas rhoncus aliquam lacus.", "Sed ante.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "In eleifend quam a odio.", "Donec vitae nisi.", "Curabitur convallis.", "Nulla tellus.", "Duis at velit eu est congue elementum.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Suspendisse potenti.", "Ut tellus.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Vivamus tortor.", "In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", "Aenean fermentum.", "Maecenas ut massa quis augue luctus tincidunt.", "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Vivamus in felis eu sapien cursus vestibulum.", "Integer ac neque." ] } } } }, { - "codec": "Christine", + "codec":"net.shrine.authorization.ErrorStatusFromDataStewardApp", "description": "Quisque id justo sit amet sapien dignissim vestibulum.", "summary": "Sed ante. Vivamus tortor. Duis mattis egestas metus.", "stampText": "2016-03-03T13:06:21Z", "epoch": "1465365396", "detailsXml": { "exception": { "name": "DiamErat.java", "message": "Suspendisse potenti. Cras in purus eu magna vulputate luctus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "stacktrace": { "line": [ "Integer ac leo.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Morbi non quam nec dui luctus rutrum.", "Praesent blandit lacinia erat.", "Nullam varius.", "Maecenas rhoncus aliquam lacus.", "Vestibulum sed magna at nunc commodo placerat.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Vivamus tortor.", "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", "In hac habitasse platea dictumst.", "Integer ac leo.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", "Curabitur in libero ut massa volutpat convallis.", "Morbi ut odio.", "Etiam justo.", "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Suspendisse potenti.", "Quisque id justo sit amet sapien dignissim vestibulum.", "Nullam porttitor lacus at turpis.", "Vestibulum sed magna at nunc commodo placerat.", "Quisque porta volutpat erat.", "Pellentesque viverra pede ac diam.", "Nulla facilisi.", "Nulla nisl.", "Nulla tempus.", "Nulla suscipit ligula in lacus.", "Fusce consequat.", "Nulla ac enim.", "Nulla nisl.", "Phasellus id sapien in sapien iaculis congue.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est." ] } } } }, { - "codec": "Thomas", + "codec":"net.shrine.aggregation.HttpErrorResponseProblem", "description": "Nulla ac enim.", "summary": "Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus.", "stampText": "2016-04-28T07:00:31Z", "epoch": "1453805041", "detailsXml": { "exception": { "name": "PortaVolutpat.html", "message": "Nulla tempus.", "stacktrace": { "line": [ "Integer ac neque.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam.", "Duis at velit eu est congue elementum.", "Pellentesque ultrices mattis odio.", "Phasellus in felis.", "Integer ac neque.", "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", "Phasellus id sapien in sapien iaculis congue.", "Integer ac neque.", "In congue.", "Proin eu mi.", "Vivamus tortor.", "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.", "Vestibulum rutrum rutrum neque.", "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "Suspendisse accumsan tortor quis turpis.", "Fusce consequat.", "Praesent id massa id nisl venenatis lacinia.", "Proin leo odio, porttitor id, consequat in, consequat ut, nulla.", "Donec posuere metus vitae ipsum.", "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "Donec posuere metus vitae ipsum.", "Aenean auctor gravida sem.", "Vivamus tortor.", "Nulla mollis molestie lorem.", "Curabitur convallis.", "Quisque ut erat.", "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", "Aenean lectus.", "Duis at velit eu est congue elementum.", "In hac habitasse platea dictumst.", "Nulla nisl.", "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", "Duis consequat dui nec nisi volutpat eleifend.", "Vestibulum sed magna at nunc commodo placerat." ] } } } }, { - "codec": "Kevin", + "codec":"net.shrine.adapter.ExceptionWhileLoadingCrcResponse", "description": "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", "summary": "In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat.", "stampText": "2016-06-19T01:15:22Z", "epoch": "1449072574", "detailsXml": { "exception": { "name": "EtiamFaucibusCursus.js", "message": "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", "stacktrace": { "line": [ "Duis mattis egestas metus.", "Pellentesque viverra pede ac diam.", "Mauris sit amet eros.", "In eleifend quam a odio.", "Mauris sit amet eros.", "Fusce posuere felis sed lacus.", "In hac habitasse platea dictumst.", "Etiam justo.", "Donec ut dolor.", "Nam tristique tortor eu pede.", "Vestibulum sed magna at nunc commodo placerat.", "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", "Etiam pretium iaculis justo.", "Aenean sit amet justo.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", "Quisque ut erat.", "Ut at dolor quis odio consequat varius.", "Aenean fermentum.", "Nullam sit amet turpis elementum ligula vehicula consequat.", "In hac habitasse platea dictumst.", "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", "Mauris lacinia sapien quis libero.", "Aenean lectus.", "Phasellus id sapien in sapien iaculis congue.", "Sed vel enim sit amet nunc viverra dapibus.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Pellentesque viverra pede ac diam.", "Phasellus id sapien in sapien iaculis congue.", "Nunc rhoncus dui vel sem.", "Nulla tempus.", "Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.", "Donec ut dolor.", "Nulla nisl.", "Phasellus sit amet erat.", "Nullam molestie nibh in lectus.", "Pellentesque viverra pede ac diam.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "Donec quis orci eget orci vehicula condimentum.", "Pellentesque ultrices mattis odio.", "Aenean auctor gravida sem.", "Praesent lectus.", "Pellentesque eget nunc.", "Nullam varius.", "Nam dui.", "In sagittis dui vel nisl.", "Integer ac leo.", "Vestibulum sed magna at nunc commodo placerat.", "Nullam varius.", "Quisque ut erat.", "Nulla tempus." ] } } } }] } \ No newline at end of file diff --git a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=60.json b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=60.json index 5498022c1..cf07cd9f3 100644 --- a/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=60.json +++ b/apps/dashboard-app/src/main/js/test/admin/status/problems/offset=60.json @@ -1,148 +1,170 @@ {"size":63,"offset":60,"n":20,"problems": [{ - "codec": "Clarence", - "description": "Mauris sit amet eros.", - "summary": "Suspendisse potenti.", - "stampText": "2016-07-10T11:58:32Z", - "epoch": "1451859186", + "codec":"net.shrine.adapter.CannotParseXmlFromCrc", + "description": "Suspendisse potenti.", + "summary": "Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.", + "stampText": "2015-10-03T22:50:09Z", + "epoch": "1458628756", "detailsXml": { "exception": { - "name": "Potenti.js", - "message": "Proin risus. Praesent lectus.", + "name": "AIpsumInteger.java", + "message": "In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", "stacktrace": { "line": [ - "Mauris ullamcorper purus sit amet nulla.", - "Etiam faucibus cursus urna.", + "Nulla tempus.", + "Nulla mollis molestie lorem.", + "Integer a nibh.", + "Vivamus vestibulum sagittis sapien.", + "Duis ac nibh.", + "Aenean fermentum.", + "Donec quis orci eget orci vehicula condimentum.", + "Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.", + "Duis mattis egestas metus.", "Nunc purus.", - "Integer non velit.", - "Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.", - "Integer non velit.", + "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", + "Etiam justo.", + "Nulla ut erat id mauris vulputate elementum.", + "Nulla mollis molestie lorem.", + "Aenean sit amet justo.", + "Morbi porttitor lorem id ligula.", + "Maecenas rhoncus aliquam lacus.", + "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", + "Mauris ullamcorper purus sit amet nulla.", + "Integer ac leo.", "Nunc rhoncus dui vel sem.", - "Nulla nisl.", - "Donec semper sapien a libero.", - "Aliquam erat volutpat.", - "Vestibulum ac est lacinia nisi venenatis tristique.", - "In est risus, auctor sed, tristique in, tempus sit amet, sem.", - "Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci.", - "Sed accumsan felis.", - "In hac habitasse platea dictumst.", - "Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.", - "Vivamus vel nulla eget eros elementum pellentesque.", - "Suspendisse potenti.", - "Quisque id justo sit amet sapien dignissim vestibulum.", - "Vestibulum ac est lacinia nisi venenatis tristique.", - "Morbi quis tortor id nulla ultrices aliquet.", - "In hac habitasse platea dictumst.", - "Nulla ac enim.", "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", + "Ut at dolor quis odio consequat varius.", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", - "Vivamus tortor.", - "Ut tellus.", - "Nulla facilisi.", - "Praesent id massa id nisl venenatis lacinia.", - "Nunc purus.", - "Integer ac leo.", - "In est risus, auctor sed, tristique in, tempus sit amet, sem.", - "Morbi vel lectus in quam fringilla rhoncus.", - "Praesent blandit lacinia erat.", - "Integer ac leo.", - "Donec semper sapien a libero.", - "Duis ac nibh.", + "Vestibulum sed magna at nunc commodo placerat.", "Nulla suscipit ligula in lacus.", - "Pellentesque ultrices mattis odio.", - "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede." + "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", + "Ut at dolor quis odio consequat varius.", + "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", + "Donec vitae nisi.", + "Mauris sit amet eros.", + "Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.", + "Integer ac neque.", + "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", + "Aliquam sit amet diam in magna bibendum imperdiet.", + "Nulla ac enim.", + "In hac habitasse platea dictumst.", + "Suspendisse ornare consequat lectus.", + "In sagittis dui vel nisl.", + "Phasellus id sapien in sapien iaculis congue.", + "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", + "Sed vel enim sit amet nunc viverra dapibus.", + "In hac habitasse platea dictumst.", + "Aenean fermentum.", + "Praesent blandit.", + "Etiam pretium iaculis justo.", + "Pellentesque eget nunc.", + "Nulla tempus.", + "In hac habitasse platea dictumst." ] } } } }, { - "codec": "Alice", - "description": "Duis at velit eu est congue elementum.", - "summary": "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue.", - "stampText": "2016-01-27T19:01:55Z", - "epoch": "1461553414", + "codec":"net.shrine.aggregation.CouldNotParseResultsProblem", + "description": "Nam dui.", + "summary": "Nunc rhoncus dui vel sem. Sed sagittis.", + "stampText": "2015-09-16T10:52:48Z", + "epoch": "1460014356", "detailsXml": { "exception": { - "name": "Magna.js", - "message": "Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", + "name": "FelisUt.js", + "message": "Sed vel enim sit amet nunc viverra dapibus.", "stacktrace": { "line": [ - "Praesent lectus.", - "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.", - "In eleifend quam a odio.", + "Cras non velit nec nisi vulputate nonummy.", + "Phasellus id sapien in sapien iaculis congue.", + "Vivamus tortor.", + "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", + "Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.", + "Suspendisse potenti.", + "Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.", + "Donec ut mauris eget massa tempor convallis.", + "Ut at dolor quis odio consequat varius.", + "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", + "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", + "Vivamus vestibulum sagittis sapien.", + "In congue.", + "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", + "Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.", + "Aenean fermentum.", + "Donec semper sapien a libero.", "Praesent id massa id nisl venenatis lacinia.", - "Donec dapibus.", + "In hac habitasse platea dictumst.", "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", - "Aenean auctor gravida sem.", - "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", - "Fusce consequat.", - "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", + "Quisque id justo sit amet sapien dignissim vestibulum.", "Duis mattis egestas metus.", + "Morbi porttitor lorem id ligula.", + "In congue.", + "Cras pellentesque volutpat dui.", "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", + "Morbi porttitor lorem id ligula.", + "Nullam molestie nibh in lectus.", + "Nulla tempus.", + "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", "Nam tristique tortor eu pede.", - "Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.", - "Nam tristique tortor eu pede.", - "Maecenas pulvinar lobortis est.", - "In hac habitasse platea dictumst.", - "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", - "Maecenas tincidunt lacus at velit.", + "In eleifend quam a odio.", "Nullam varius.", - "Aenean fermentum." + "Morbi a ipsum.", + "Integer ac leo.", + "In hac habitasse platea dictumst.", + "Morbi non lectus.", + "Nam dui.", + "Fusce posuere felis sed lacus.", + "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", + "Praesent id massa id nisl venenatis lacinia.", + "Curabitur in libero ut massa volutpat convallis." ] } } } }, { - "codec": "Carolyn", - "description": "Nulla tempus.", - "summary": "Integer non velit.", - "stampText": "2015-12-30T21:17:20Z", - "epoch": "1444375553", + "codec":"net.shrine.adapter.client.CouldNotParseXmlFromAdapter", + "description": "Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.", + "summary": "Pellentesque viverra pede ac diam.", + "stampText": "2016-07-19T06:32:56Z", + "epoch": "1442947556", "detailsXml": { "exception": { - "name": "UltricesAliquet.js", - "message": "Aliquam erat volutpat. In congue.", + "name": "Condimentum.js", + "message": "Suspendisse accumsan tortor quis turpis.", "stacktrace": { "line": [ - "Suspendisse potenti.", - "Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.", - "Nulla ut erat id mauris vulputate elementum.", - "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.", - "Mauris lacinia sapien quis libero.", - "Duis consequat dui nec nisi volutpat eleifend.", - "Sed vel enim sit amet nunc viverra dapibus.", - "Cras non velit nec nisi vulputate nonummy.", - "Nulla ut erat id mauris vulputate elementum.", + "In blandit ultrices enim.", "Vestibulum ac est lacinia nisi venenatis tristique.", + "Duis consequat dui nec nisi volutpat eleifend.", + "Nulla suscipit ligula in lacus.", + "Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.", + "In sagittis dui vel nisl.", + "Aenean lectus.", + "Sed ante.", + "Praesent blandit.", "Nulla tellus.", + "Ut at dolor quis odio consequat varius.", + "In congue.", + "Nam nulla.", + "Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo.", + "Vivamus tortor.", + "Maecenas tincidunt lacus at velit.", + "Donec ut mauris eget massa tempor convallis.", "Morbi a ipsum.", - "Pellentesque ultrices mattis odio.", - "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio.", - "In hac habitasse platea dictumst.", "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", - "Aliquam erat volutpat.", - "Phasellus id sapien in sapien iaculis congue.", - "Nam tristique tortor eu pede.", - "Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.", - "Etiam justo.", - "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", - "Aenean lectus.", - "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.", - "Aliquam quis turpis eget elit sodales scelerisque.", - "Mauris sit amet eros.", - "In hac habitasse platea dictumst.", - "Nullam porttitor lacus at turpis.", - "Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.", - "Fusce posuere felis sed lacus.", - "Aenean lectus.", - "Etiam vel augue.", - "Aliquam quis turpis eget elit sodales scelerisque.", - "Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.", - "Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.", - "Donec ut dolor.", - "Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl." + "Vivamus vestibulum sagittis sapien.", + "Proin at turpis a pede posuere nonummy.", + "Proin risus.", + "Pellentesque at nulla.", + "Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.", + "Morbi non lectus.", + "Fusce consequat.", + "Mauris ullamcorper purus sit amet nulla.", + "Vestibulum sed magna at nunc commodo placerat.", + "Nam dui." ] } } } }]} \ No newline at end of file diff --git a/apps/dashboard-app/src/test/scala/net/shrine/dashboard/DashboardServiceTest.scala b/apps/dashboard-app/src/test/scala/net/shrine/dashboard/DashboardServiceTest.scala index 1c2a0cebf..f65fa1543 100644 --- a/apps/dashboard-app/src/test/scala/net/shrine/dashboard/DashboardServiceTest.scala +++ b/apps/dashboard-app/src/test/scala/net/shrine/dashboard/DashboardServiceTest.scala @@ -1,314 +1,315 @@ package net.shrine.dashboard import java.security.PrivateKey import java.util.Date import io.jsonwebtoken.impl.TextCodec import io.jsonwebtoken.{Jwts, SignatureAlgorithm} import net.shrine.authorization.steward.OutboundUser import net.shrine.crypto.{KeyStoreCertCollection, KeyStoreDescriptorParser} import net.shrine.dashboard.jwtauth.ShrineJwtAuthenticator import net.shrine.i2b2.protocol.pm.User import net.shrine.protocol.Credential import org.json4s.native.JsonMethods.parse import org.junit.runner.RunWith import org.scalatest.FlatSpec import org.scalatest.junit.JUnitRunner import spray.http.StatusCodes.{OK, PermanentRedirect, Unauthorized} import spray.http.{BasicHttpCredentials, OAuth2BearerToken} import spray.testkit.ScalatestRouteTest import scala.language.postfixOps @RunWith(classOf[JUnitRunner]) class DashboardServiceTest extends FlatSpec with ScalatestRouteTest with DashboardService { def actorRefFactory = system import scala.concurrent.duration._ implicit val routeTestTimeout = RouteTestTimeout(10 seconds) val adminUserName = "keith" val adminFullName = adminUserName /** * to run these tests with I2B2 * add a user named keith, to be the admin * add a Boolean parameter for keith, Admin, true * add all this user to the i2b2 project */ val adminCredentials = BasicHttpCredentials(adminUserName,"shh!") val brokenCredentials = BasicHttpCredentials(adminUserName,"wrong password") val adminUser = User( fullName = adminUserName, username = adminFullName, domain = "domain", credential = new Credential("admin's password",false), params = Map(), rolesByProject = Map() ) val adminOutboundUser = OutboundUser.createFromUser(adminUser) "DashboardService" should "return an OK and a valid outbound user for a user/whoami request" in { Get(s"/user/whoami") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val userJson = new String(body.data.toByteArray) val outboundUser = parse(userJson).extract[OutboundUser] assertResult(adminOutboundUser)(outboundUser) } } "DashboardService" should "return an OK and a valid outbound user for a user/whoami request and an '' " in { Get(s"/user/whoami") ~> addCredentials(brokenCredentials) ~> route ~> check { assertResult(OK)(status) val response = new String(body.data.toByteArray) assertResult(""""AuthenticationFailed"""")(response) } } "DashboardService" should "redirect several urls to client/index.html" in { Get() ~> route ~> check { status === PermanentRedirect header("Location") === "client/index.html" } Get("/") ~> route ~> check { status === PermanentRedirect header("Location") === "client/index.html" } Get("/index.html") ~> route ~> check { status === PermanentRedirect header("Location") === "client/index.html" } Get("/client") ~> route ~> check { status === PermanentRedirect header("Location") === "client/index.html" } Get("/client/") ~> route ~> check { status === PermanentRedirect header("Location") === "client/index.html" } } "DashboardService" should "return an OK and the right version string for an admin/happy/all test" in { Get(s"/admin/happy/all") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val allString = new String(body.data.toByteArray) //println(allString) //todo test it to see if it's right } } "DashboardService" should "return an OK and mess with the right version string for an admin/messWithHappyVersion test" in { Get(s"/admin/messWithHappyVersion") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val versionString = new String(body.data.toByteArray) //todo test it to see if it's right } } "DashboardService" should "return an OK for admin/status/config" in { Get(s"/admin/status/config") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val configString = new String(body.data.toByteArray) //println(configString) } } "DashboardService" should "return an OK for admin/status/classpath" in { Get(s"/admin/status/classpath") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val classpathString = new String(body.data.toByteArray) } } "DashboardService" should "return an OK for admin/status/options" in { Get(s"/admin/status/options") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val options = new String(body.data.toByteArray) } } "DashboardService" should "return an OK for admin/status/summary" in { Get(s"/admin/status/summary") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val summary = new String(body.data.toByteArray) } } "DashboardService" should "return an OK for admin/status/problems" in { Get("/admin/status/problems") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val problems = new String(body.data.toByteArray) } } "DashboardService" should "return an OK for admin/status/problems with queries" in { Get("/admin/status/problems/offset=5") ~> addCredentials(adminCredentials) ~> route ~> check { assertResult(OK)(status) val problems = new String(body.data.toByteArray) + println(problems) } } val dashboardCredentials = BasicHttpCredentials(adminUserName,"shh!") "DashboardService" should "return an OK and pong for fromDashboard/ping" in { Get(s"/fromDashboard/ping") ~> addCredentials(ShrineJwtAuthenticator.createOAuthCredentials(adminUser)) ~> route ~> check { assertResult(OK)(status) val string = new String(body.data.toByteArray) assertResult(""""pong"""")(string) } } "DashboardService" should "reject a fromDashboard/ping with an expired jwts header" in { val config = DashboardConfigSource.config val shrineCertCollection: KeyStoreCertCollection = KeyStoreCertCollection.fromFileRecoverWithClassPath(KeyStoreDescriptorParser(config.getConfig("shrine.keystore"))) val base64Cert = new String(TextCodec.BASE64URL.encode(shrineCertCollection.myCert.get.getEncoded)) val key: PrivateKey = shrineCertCollection.myKeyPair.privateKey val expiration: Date = new Date(System.currentTimeMillis() - 300 * 1000) //bad for 5 minutes val jwtsString = Jwts.builder(). setHeaderParam("kid", base64Cert). setSubject(java.net.InetAddress.getLocalHost.getHostName). setExpiration(expiration). signWith(SignatureAlgorithm.RS512, key). compact() Get(s"/fromDashboard/ping") ~> addCredentials(OAuth2BearerToken(jwtsString)) ~> sealRoute(route) ~> check { assertResult(Unauthorized)(status) } } "DashboardService" should "reject a fromDashboard/ping with no subject" in { val config = DashboardConfigSource.config val shrineCertCollection: KeyStoreCertCollection = KeyStoreCertCollection.fromClassPathResource(KeyStoreDescriptorParser(config.getConfig("shrine.keystore"))) val base64Cert = new String(TextCodec.BASE64URL.encode(shrineCertCollection.myCert.get.getEncoded)) val key: PrivateKey = shrineCertCollection.myKeyPair.privateKey val expiration: Date = new Date(System.currentTimeMillis() + 30 * 1000) val jwtsString = Jwts.builder(). setHeaderParam("kid", base64Cert). setExpiration(expiration). signWith(SignatureAlgorithm.RS512, key). compact() Get(s"/fromDashboard/ping") ~> addCredentials(OAuth2BearerToken(jwtsString)) ~> sealRoute(route) ~> check { assertResult(Unauthorized)(status) } } "DashboardService" should "reject a fromDashboard/ping with no Authorization header" in { Get(s"/fromDashboard/ping") ~> sealRoute(route) ~> check { assertResult(Unauthorized)(status) } } "DashboardService" should "reject a fromDashboard/ping with an Authorization header for the wrong authorization spec" in { Get(s"/fromDashboard/ping") ~> addCredentials(adminCredentials) ~> sealRoute(route) ~> check { assertResult(Unauthorized)(status) } } /* "DashboardService" should "not find a bogus web service to talk to" in { Get(s"/toDashboard/bogus.harvard.edu/ping") ~> addCredentials(adminCredentials) ~> sealRoute(route) ~> check { val string = new String(body.data.toByteArray) assertResult(NotFound)(status) } } */ } diff --git a/commons/util/pom.xml b/commons/util/pom.xml index d726b8e3c..a2f404804 100644 --- a/commons/util/pom.xml +++ b/commons/util/pom.xml @@ -1,115 +1,115 @@ 4.0.0 SHRINE Utility Code shrine-util jar net.shrine shrine-base 1.22.0-SNAPSHOT ../../pom.xml com.typesafe.slick slick_2.11 ${slick-version} org.slf4j slf4j-simple 1.6.4 - com.h2database - h2 - 1.4.191 + org.xerial + sqlite-jdbc + 3.8.7 test org.apache.commons commons-email 1.2 net.liftweb lift-json_${scala-major-version} org.scala-lang scalap org.scala-lang scalap ${scala-version} log4j log4j net.shrine shrine-test-commons ${project.version} test-jar test net.shrine shrine-config ${project.version} net.shrine shrine-data-commons ${project.version} org.json4s json4s-native_2.11 ${json4s-version} src/main/scala src/test/scala src/main/resources true shrine-versions.properties net.alchim31.maven scala-maven-plugin org.apache.maven.plugins maven-jar-plugin 2.6 test-jar diff --git a/commons/util/src/main/scala/net/shrine/problem/DashboardProblemsDatabase.scala b/commons/util/src/main/scala/net/shrine/problem/DashboardProblemsDatabase.scala index d9a2a38c8..783e77a3f 100644 --- a/commons/util/src/main/scala/net/shrine/problem/DashboardProblemsDatabase.scala +++ b/commons/util/src/main/scala/net/shrine/problem/DashboardProblemsDatabase.scala @@ -1,179 +1,181 @@ package net.shrine.problem import java.util.concurrent.TimeoutException import javax.sql.DataSource import com.typesafe.config.Config import net.shrine.slick.{CouldNotRunDbIoActionException, TestableDataSourceCreator} import slick.dbio.SuccessAction import slick.driver.JdbcProfile import slick.jdbc.meta.MTable import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.duration._ import scala.concurrent.{Await, Future} import scala.util.control.NonFatal import scala.xml.XML /** * Problems database object, defines the PROBLEMS table schema and related queries, * as well as all interactions with the database. * @author ty * @since 07/16 */ object Problems { val config:Config = ProblemConfigSource.config.getConfig("shrine.problem.database") val slickProfileClassName = config.getString("slickProfileClassName") // TODO: Can we not pay this 2 second cost here? val slickProfile:JdbcProfile = ProblemConfigSource.objectForName(slickProfileClassName) import slickProfile.api._ val dataSource: DataSource = TestableDataSourceCreator.dataSource(config) lazy val db = { val db = Database.forDataSource(dataSource) if (config.getBoolean("createTablesOnStart")) Await.ready(db.run(IOActions.createIfNotExists), FiniteDuration(3, SECONDS)) db } /** * The Problems Table. This is the table schema. */ class ProblemsT(tag: Tag) extends Table[ProblemDigest](tag, Queries.tableName) { + def id = column[Int]("id", O.PrimaryKey, O.AutoInc, O.Default(0)) def codec = column[String]("codec") def stampText = column[String]("stampText") def summary = column[String]("summary") def description = column[String]("description") def xml = column[String]("detailsXml") def epoch= column[Long]("epoch") // projection between table row and problem digest - def * = (codec, stampText, summary, description, xml, epoch) <> (rowToProblem, problemToRow) + def * = (id, codec, stampText, summary, description, xml, epoch) <> (rowToProblem, problemToRow) def idx = index("idx_epoch", epoch, unique=false) /** * Converts a table row into a ProblemDigest. * @param args the table row, represented as a five-tuple string * @return the corresponding ProblemDigest */ - def rowToProblem(args: (String, String, String, String, String, Long)): ProblemDigest = args match { - case (codec, stampText, summary, description, detailsXml, epoch) => + def rowToProblem(args: (Int, String, String, String, String, String, Long)): ProblemDigest = args match { + case (id, codec, stampText, summary, description, detailsXml, epoch) => ProblemDigest(codec, stampText, summary, description, XML.loadString(detailsXml), epoch) } /** * Converts a ProblemDigest into an Option of a table row. For now there is no failure * condition, ie a ProblemDigest can always be a table row, but this is a place for * possible future error handling * @param problem the ProblemDigest to convert * @return an Option of a table row. */ - def problemToRow(problem: ProblemDigest): Option[(String, String, String, String, String, Long)] = problem match { + def problemToRow(problem: ProblemDigest): Option[(Int, String, String, String, String, String, Long)] = problem match { case ProblemDigest(codec, stampText, summary, description, detailsXml, epoch) => - Some((codec, stampText, summary, description, detailsXml.toString, epoch)) + // 0 is ignored on insert and replaced with an auto incremented id + Some((0, codec, stampText, summary, description, detailsXml.toString, epoch)) } } /** * Queries related to the Problems table. */ object Queries extends TableQuery(new ProblemsT(_)) { /** * The table name */ val tableName = "PROBLEMS" /** * Equivalent to Select * from Problems; */ val selectAll = this /** * Selects all the details xml sorted by the problem's time stamp. */ val selectDetails = this.map(_.xml) /** * Selects the last N problems, after the offset */ def lastNProblems(n: Int, offset: Int = 0) = this.sortBy(_.epoch.desc).drop(offset).take(n) } /** * DBIO Actions. These are pre-defined IO actions that may be useful. * Using it to centralize the location of DBIOs. */ object IOActions { val problems = Queries val tableExists = MTable.getTables(problems.tableName).map(_.nonEmpty) val createIfNotExists = tableExists.flatMap( if (_) SuccessAction(NoOperation) else problems.schema.create) val dropIfExists = tableExists.flatMap( if (_) problems.schema.drop else SuccessAction(NoOperation)) val resetTable = createIfNotExists >> problems.selectAll.delete val selectAll = problems.result def sizeAndProblemDigest(n: Int, offset: Int = 0) = for { length <- problems.length.result allProblems <- problems.lastNProblems(n, offset).result } yield (allProblems, length) } /** * Entry point for interacting with the database. Runs IO actions. */ object DatabaseConnector { val IO = IOActions /** * Executes a series of IO actions as a single transactions */ def executeTransaction(actions: DBIOAction[_, NoStream, _]*): Future[Unit] = { db.run(DBIO.seq(actions:_*).transactionally) } /** * Executes a series of IO actions as a single transaction, synchronous */ def executeTransactionBlocking(actions: DBIOAction[_, NoStream, _]*)(implicit timeout: Duration): Unit = { try { Await.ready(this.executeTransaction(actions: _*), timeout) } catch { // TODO: Handle this better case tx:TimeoutException => throw CouldNotRunDbIoActionException(Problems.dataSource, tx) case NonFatal(x) => throw CouldNotRunDbIoActionException(Problems.dataSource, x) } } /** * Straight copy of db.run */ def run[R](dbio: DBIOAction[R, NoStream, _]): Future[R] = { db.run(dbio) } /** * Synchronized copy of db.run */ def runBlocking[R](dbio: DBIOAction[R, NoStream, _])(implicit timeout: Duration): R = { try { Await.result(this.run(dbio), timeout) } catch { case tx:TimeoutException => throw CouldNotRunDbIoActionException(Problems.dataSource, tx) case NonFatal(x) => throw CouldNotRunDbIoActionException(Problems.dataSource, x) } } /** * Inserts a problem into the database * @param problem the ProblemDigest */ def insertProblem(problem: ProblemDigest): Unit = { run(Queries += problem) } } } // For SuccessAction, just a no_op. case object NoOperation \ No newline at end of file diff --git a/commons/util/src/main/scala/net/shrine/problem/Problem.scala b/commons/util/src/main/scala/net/shrine/problem/Problem.scala index cffb81cff..777902161 100644 --- a/commons/util/src/main/scala/net/shrine/problem/Problem.scala +++ b/commons/util/src/main/scala/net/shrine/problem/Problem.scala @@ -1,185 +1,184 @@ package net.shrine.problem import java.net.InetAddress import java.text.SimpleDateFormat import java.util.Date import net.shrine.log.Loggable import net.shrine.serialization.{XmlMarshaller, XmlUnmarshaller} +import scala.concurrent.Future import scala.xml.{Elem, Node, NodeSeq} /** * Describes what information we have about a problem at the site in code where we discover it. * * @author david * @since 8/6/15 */ trait Problem { def summary:String def problemName = getClass.getName def throwable:Option[Throwable] = None def stamp:Stamp def description:String def exceptionXml(exception:Option[Throwable]): Option[Elem] = exception.map{x => {x.getClass.getName} {x.getMessage} {x.getStackTrace.map(line => {line})}{exceptionXml(Option(x.getCause)).getOrElse("")} } def throwableDetail = exceptionXml(throwable) def detailsXml: NodeSeq = NodeSeq.fromSeq(
{throwableDetail.getOrElse("")}
) def toDigest:ProblemDigest = ProblemDigest(problemName,stamp.pretty,summary,description,detailsXml, stamp.time) } case class ProblemDigest(codec: String, stampText: String, summary: String, description: String, detailsXml: NodeSeq, epoch: Long) extends XmlMarshaller { override def toXml: Node = { {codec} {stampText} {summary} {description} {epoch} {detailsXml} } /** * Ignores detailXml. equals with scala.xml is impossible. See http://www.scala-lang.org/api/2.10.3/index.html#scala.xml.Equality$ */ override def equals(other: Any): Boolean = other match { case that: ProblemDigest => (that canEqual this) && codec == that.codec && stampText == that.stampText && summary == that.summary && description == that.description && epoch == that.epoch case _ => false } /** * Ignores detailXml */ override def hashCode: Int = { val prime = 67 codec.hashCode + prime * (stampText.hashCode + prime *(summary.hashCode + prime * (description.hashCode + prime * epoch.hashCode()))) } } object ProblemDigest extends XmlUnmarshaller[ProblemDigest] with Loggable { override def fromXml(xml: NodeSeq): ProblemDigest = { val problemNode = xml \ "problem" require(problemNode.nonEmpty,s"No problem tag in $xml") def extractText(tagName:String) = (problemNode \ tagName).text val codec = extractText("codec") val stampText = extractText("stamp") val summary = extractText("summary") val description = extractText("description") val detailsXml: NodeSeq = problemNode \ "details" val epoch = try { extractText("epoch").toLong } catch { case nx:NumberFormatException => error(s"While parsing xml representing a ProblemDigest, the epoch could not be parsed into a long", nx) 0 } ProblemDigest(codec,stampText,summary,description,detailsXml,epoch) } } case class Stamp(host:InetAddress,time:Long,source:ProblemSources.ProblemSource) { def pretty = s"${new Date(time)} on ${host.getHostName} ${source.pretty}" } object Stamp { //TODO: val dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")? //TODO: Currently the stamp text is locale specific, which can change depending on the jre/computer running it... def apply(source:ProblemSources.ProblemSource): Stamp = Stamp(InetAddress.getLocalHost,System.currentTimeMillis(),source) } abstract class AbstractProblem(source:ProblemSources.ProblemSource) extends Problem { val stamp = Stamp(source) - - def logDigest(): Unit = { - //import net.shrine - } + // The terrible way to do onCreate: + // val terrible = Future {Thread.sleep(2000)}.foreach(_ => Problems.DatabaseConnector.insertProblem(this.toDigest)) } trait ProblemHandler { def handleProblem(problem:Problem) } /** * An example problem handler */ object LoggingProblemHandler extends ProblemHandler with Loggable { override def handleProblem(problem: Problem): Unit = { problem.throwable.fold(error(problem.toString))(throwable => error(problem.toString,throwable) ) } } object ProblemSources{ sealed trait ProblemSource { def pretty = getClass.getSimpleName.dropRight(1) } case object Adapter extends ProblemSource case object Hub extends ProblemSource case object Qep extends ProblemSource case object Dsa extends ProblemSource case object Unknown extends ProblemSource def problemSources = Set(Adapter,Hub,Qep,Dsa,Unknown) } case class ProblemNotYetEncoded(internalSummary:String,t:Option[Throwable] = None) extends AbstractProblem(ProblemSources.Unknown){ override val summary = "An unanticipated problem encountered." override val throwable = { val rx = t.fold(new IllegalStateException(s"$summary"))( new IllegalStateException(s"$summary",_) ) rx.fillInStackTrace() Some(rx) } val reportedAtStackTrace = new IllegalStateException("Capture reporting stack trace.") override val description = "This problem is not yet classified in Shrine source code. Please report the details to the Shrine dev team." override val detailsXml: NodeSeq = NodeSeq.fromSeq(
{internalSummary} {throwableDetail.getOrElse("")}
) } object ProblemNotYetEncoded { def apply(summary:String,x:Throwable):ProblemNotYetEncoded = ProblemNotYetEncoded(summary,Some(x)) } diff --git a/commons/util/src/test/resources/problem.conf b/commons/util/src/test/resources/problem.conf index 678dd4e70..fe330f0ab 100644 --- a/commons/util/src/test/resources/problem.conf +++ b/commons/util/src/test/resources/problem.conf @@ -1,17 +1,18 @@ shrine{ problem { database { dataSourceFrom = "testDataSource" - slickProfileClassName = "slick.driver.H2Driver$" + slickProfileClassName = "slick.driver.SQLiteDriver$" createTablesOnStart = true // For testing without JNDI testDataSource { //typical test settings for unit tests - driverClassName = "org.h2.Driver" + driverClassName = "org.sqlite.JDBC" - url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" + //url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" + url = "jdbc:sqlite:show.db" } } } } \ No newline at end of file diff --git a/commons/util/src/test/scala/net/shrine/problem/DashboardProblemDatabaseTest.scala b/commons/util/src/test/scala/net/shrine/problem/DashboardProblemDatabaseTest.scala index 708abedf4..f7d142845 100644 --- a/commons/util/src/test/scala/net/shrine/problem/DashboardProblemDatabaseTest.scala +++ b/commons/util/src/test/scala/net/shrine/problem/DashboardProblemDatabaseTest.scala @@ -1,82 +1,82 @@ package net.shrine.problem import org.scalatest.concurrent.ScalaFutures import org.scalatest.{BeforeAndAfter, FlatSpec, Matchers} import slick.driver.H2Driver.api._ import scala.concurrent.duration._ /** * Test creation, insertion, querying, and deletion of ProblemDigest values into an * in-memory H2 database. Demonstrates proof of concept mapping of ProblemDigest * case class into a database. */ class DashboardProblemDatabaseTest extends FlatSpec with BeforeAndAfter with ScalaFutures with Matchers { implicit val timeout = 10.seconds val connector = Problems.DatabaseConnector val IO = connector.IO val problemDigests = Seq( // Not actually sure what examples of ProblemDigests look like ProblemDigest("MJPG", "01:01:01", "summary here", "description here" ,
uh not sure
, 2), ProblemDigest("wewu", "01:02:01", "coffee spill", "coffee everywhere" ,
He chose decaf
, 1), ProblemDigest("wuwu", "02:01:01", "squirrel" , "chewed all the cables",
Like ALL of them
, 0), ProblemDigest("code", "10:01:02", "such summary", "such description" ,
Wow
, 3)) before { connector.runBlocking(IO.dropIfExists >> IO.tableExists) shouldBe false connector.runBlocking(IO.createIfNotExists >> IO.tableExists) shouldBe true connector.runBlocking(IO.createIfNotExists) shouldBe NoOperation connector.runBlocking(IO.selectAll) shouldBe empty } after { - connector.runBlocking(IO.tableExists) shouldBe true - connector.runBlocking(IO.dropIfExists >> IO.tableExists) shouldBe false - connector.runBlocking(IO.dropIfExists) shouldBe NoOperation +// connector.runBlocking(IO.tableExists) shouldBe true +// connector.runBlocking(IO.dropIfExists >> IO.tableExists) shouldBe false +// connector.runBlocking(IO.dropIfExists) shouldBe NoOperation } "The Database" should "Connect without any problems" in { // Insert the suppliers and ProblemDigests connector.executeTransactionBlocking(IO.problems ++= problemDigests) // Test that they are all in the table var * = connector.runBlocking(IO.selectAll) * should contain theSameElementsAs problemDigests * should have length problemDigests.length // Reset the table connector.runBlocking(IO.resetTable >> IO.selectAll) shouldBe empty // Run the test again connector.executeTransactionBlocking(IO.problems += problemDigests.head, IO.problems += problemDigests(1), IO.problems += problemDigests(2), IO.problems += problemDigests(3)) // Test that they are all in the table * = connector.runBlocking(IO.selectAll) * should contain theSameElementsAs problemDigests * should have length problemDigests.length // Test that the simple select and filter queries work val filtered = connector.runBlocking(IO.problems.filter(_.codec === "code").map(_.description).result) filtered should have length 1 filtered.head shouldBe problemDigests(3).description // This also tests that our conversion from xml to strings works val xml = connector.runBlocking(IO.problems.map(_.xml).result) xml should have length problemDigests.length xml should contain theSameElementsAs problemDigests.map(_.detailsXml.toString()) val result = connector.runBlocking(IO.sizeAndProblemDigest(2)) result._1 should have length 2 result._2 shouldBe problemDigests.length result._1.head shouldBe problemDigests(3) result._1(1) shouldBe problemDigests.head val resultOverLength = connector.runBlocking(IO.sizeAndProblemDigest(10)) resultOverLength._1 should have length 4 resultOverLength._1 should contain theSameElementsAs problemDigests } } \ No newline at end of file diff --git a/tools/adapter-queries-to-qep/show.db b/tools/adapter-queries-to-qep/show.db new file mode 100644 index 000000000..767c0794a Binary files /dev/null and b/tools/adapter-queries-to-qep/show.db differ