accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject [49/54] [abbrv] accumulo git commit: ACCUMULO-2181 Fixed from PR
Date Thu, 06 Jul 2017 20:43:43 GMT
ACCUMULO-2181 Fixed from PR

 * Moved tooltip creating to $(document).ready()
 * Removed vis.js.old and head.ftl
 * Renames sidebar to navbar

ACCUMULO-2181/3005 Logs improvements

 * Added sanitize method for log messages
 * Log messages now use original end of line for the message, no longer wrapped to new line
 * Style changes of summary page

ACCUMULO-2181/3005 New REST call

 * Added new REST call for multiple namespaces

ACCUMULO-2181/3005 Fixes from PR

ACCUMULO-2181 JavaScript simplification

ACCUMULO-2181 Added Bootstrap table

ACCUMULO-3005 PR fixes

 * Made changes to the GC code
 * Added new classes to get rid of Maps
 * Deprecated Monitor Banner properties

ACCUMULO-3005 Added enum for status

ACCUMULO-2181 Wrote sanitize function for URL

ACCUMULO-3005 Changes getTables() to static

ACCUMULO-2181

 * Reorganized resources folder
 * Updated Jquery version to 2.2.4


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/680b3a21
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/680b3a21
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/680b3a21

Branch: refs/heads/master
Commit: 680b3a2108b55c5eedf2550dcadb7b5fd20fde2a
Parents: 6bcb061
Author: Luis Tavarez <zeravat@outlook.com>
Authored: Thu Apr 6 10:22:54 2017 -0400
Committer: Christopher Tubbs <ctubbsii@apache.org>
Committed: Thu Jul 6 16:22:41 2017 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/core/conf/Property.java |    3 +
 server/monitor/pom.xml                          |    2 +-
 .../apache/accumulo/monitor/rest/Totals.java    |   12 +-
 .../accumulo/monitor/rest/XMLInformation.java   |    8 +-
 .../accumulo/monitor/rest/XMLResource.java      |    6 +-
 .../monitor/rest/bulkImports/BulkImport.java    |   12 +-
 .../monitor/rest/gc/GarbageCollection.java      |    6 +-
 .../monitor/rest/gc/GarbageCollectorCycle.java  |   17 +-
 .../rest/gc/GarbageCollectorResource.java       |   12 +-
 .../monitor/rest/gc/GarbageCollectorStatus.java |    6 +-
 .../monitor/rest/logs/DeadLoggerList.java       |    6 +-
 .../accumulo/monitor/rest/logs/LogResource.java |   23 +-
 .../monitor/rest/master/MasterInformation.java  |   43 +-
 .../monitor/rest/master/MasterResource.java     |   41 +-
 .../monitor/rest/problems/ProblemDetail.java    |   48 +
 .../rest/problems/ProblemDetailInformation.java |    9 +-
 .../monitor/rest/problems/ProblemSummary.java   |   48 +
 .../problems/ProblemSummaryInformation.java     |    8 +-
 .../monitor/rest/problems/ProblemsResource.java |   28 +-
 .../replication/ReplicationInformation.java     |    6 +-
 .../accumulo/monitor/rest/scans/Scans.java      |    6 +-
 .../monitor/rest/status/StatusInformation.java  |   19 +-
 .../monitor/rest/status/StatusResource.java     |   32 +-
 .../monitor/rest/tables/CompactionsList.java    |    8 +-
 .../monitor/rest/tables/CompactionsTypes.java   |   10 +-
 .../monitor/rest/tables/TableInformation.java   |   38 +-
 .../rest/tables/TableInformationList.java       |    6 +-
 .../monitor/rest/tables/TableNamespace.java     |    5 +-
 .../monitor/rest/tables/TablesList.java         |    6 +-
 .../monitor/rest/tables/TablesResource.java     |   84 +-
 .../monitor/rest/trace/AddlInformation.java     |    9 +-
 .../monitor/rest/trace/DataInformation.java     |    3 +-
 .../rest/trace/RecentTracesInformation.java     |    4 +-
 .../monitor/rest/trace/RecentTracesList.java    |    6 +-
 .../monitor/rest/trace/TraceInformation.java    |    3 +-
 .../accumulo/monitor/rest/trace/TraceList.java  |    6 +-
 .../accumulo/monitor/rest/trace/TraceType.java  |    6 +-
 .../rest/trace/TracesForTypeInformation.java    |    7 +-
 .../rest/tservers/AllTimeTabletResults.java     |   10 +-
 .../tservers/BadTabletServerInformation.java    |    5 +-
 .../monitor/rest/tservers/BadTabletServers.java |    6 +-
 .../rest/tservers/CurrentOperations.java        |   14 +-
 .../rest/tservers/CurrentTabletResults.java     |    5 +-
 .../monitor/rest/tservers/DeadServerList.java   |    6 +-
 .../monitor/rest/tservers/ServerStats.java      |    6 +-
 .../rest/tservers/ServersShuttingDown.java      |    6 +-
 .../monitor/rest/tservers/TabletServer.java     |    6 +-
 .../tservers/TabletServerDetailInformation.java |    5 +-
 .../rest/tservers/TabletServerInformation.java  |   26 +-
 .../TabletServerRecoveryInformation.java        |   54 +
 .../rest/tservers/TabletServerResource.java     |   25 +-
 .../TabletServerWithTableInformation.java       |    2 +
 .../monitor/rest/tservers/TabletServers.java    |   10 +-
 .../rest/tservers/TabletServersRecovery.java    |   49 +
 .../accumulo/monitor/rest/zk/ZKInformation.java |    6 +-
 .../accumulo/monitor/rest/zk/ZooKeeper.java     |    4 +-
 .../apache/accumulo/monitor/view/Indexes.java   |  383 -
 .../apache/accumulo/monitor/view/WebViews.java  |  383 +
 .../src/main/resources/resources/bulkImport.js  |  213 -
 .../src/main/resources/resources/css/screen.css |  468 +
 .../src/main/resources/resources/down.gif       |  Bin 164 -> 0 bytes
 .../src/main/resources/resources/favicon.png    |  Bin 2195 -> 0 bytes
 .../main/resources/resources/flot/LICENSE.txt   |   22 -
 .../main/resources/resources/flot/excanvas.js   | 1428 ---
 .../resources/resources/flot/excanvas.min.js    |    1 -
 .../resources/flot/jquery.colorhelpers.js       |  180 -
 .../resources/flot/jquery.colorhelpers.min.js   |    1 -
 .../resources/flot/jquery.flot.canvas.js        |  345 -
 .../resources/flot/jquery.flot.canvas.min.js    |    7 -
 .../resources/flot/jquery.flot.categories.js    |  190 -
 .../flot/jquery.flot.categories.min.js          |    7 -
 .../resources/flot/jquery.flot.crosshair.js     |  176 -
 .../resources/flot/jquery.flot.crosshair.min.js |    7 -
 .../resources/flot/jquery.flot.errorbars.js     |  353 -
 .../resources/flot/jquery.flot.errorbars.min.js |    7 -
 .../resources/flot/jquery.flot.fillbetween.js   |  226 -
 .../flot/jquery.flot.fillbetween.min.js         |    7 -
 .../resources/flot/jquery.flot.image.js         |  241 -
 .../resources/flot/jquery.flot.image.min.js     |    7 -
 .../resources/resources/flot/jquery.flot.js     | 3168 ------
 .../resources/resources/flot/jquery.flot.min.js |    8 -
 .../resources/flot/jquery.flot.navigate.js      |  346 -
 .../resources/flot/jquery.flot.navigate.min.js  |    7 -
 .../resources/resources/flot/jquery.flot.pie.js |  820 --
 .../resources/flot/jquery.flot.pie.min.js       |    7 -
 .../resources/flot/jquery.flot.resize.js        |   59 -
 .../resources/flot/jquery.flot.resize.min.js    |    7 -
 .../resources/flot/jquery.flot.selection.js     |  360 -
 .../resources/flot/jquery.flot.selection.min.js |    7 -
 .../resources/flot/jquery.flot.stack.js         |  188 -
 .../resources/flot/jquery.flot.stack.min.js     |    7 -
 .../resources/flot/jquery.flot.symbol.js        |   71 -
 .../resources/flot/jquery.flot.symbol.min.js    |    7 -
 .../resources/flot/jquery.flot.threshold.js     |  142 -
 .../resources/flot/jquery.flot.threshold.min.js |    7 -
 .../resources/flot/jquery.flot.time.js          |  432 -
 .../resources/flot/jquery.flot.time.min.js      |    7 -
 .../src/main/resources/resources/flot/jquery.js | 9472 ------------------
 .../main/resources/resources/flot/jquery.min.js |    5 -
 .../src/main/resources/resources/functions.js   |  686 --
 .../monitor/src/main/resources/resources/gc.js  |  278 -
 .../src/main/resources/resources/global.js      |   96 -
 .../main/resources/resources/images/favicon.png |  Bin 0 -> 2195 bytes
 .../main/resources/resources/js/bulkImport.js   |  205 +
 .../resources/resources/js/flot/LICENSE.txt     |   22 +
 .../resources/resources/js/flot/excanvas.js     | 1428 +++
 .../resources/resources/js/flot/excanvas.min.js |    1 +
 .../resources/js/flot/jquery.colorhelpers.js    |  180 +
 .../js/flot/jquery.colorhelpers.min.js          |    1 +
 .../resources/js/flot/jquery.flot.canvas.js     |  345 +
 .../resources/js/flot/jquery.flot.canvas.min.js |    7 +
 .../resources/js/flot/jquery.flot.categories.js |  190 +
 .../js/flot/jquery.flot.categories.min.js       |    7 +
 .../resources/js/flot/jquery.flot.crosshair.js  |  176 +
 .../js/flot/jquery.flot.crosshair.min.js        |    7 +
 .../resources/js/flot/jquery.flot.errorbars.js  |  353 +
 .../js/flot/jquery.flot.errorbars.min.js        |    7 +
 .../js/flot/jquery.flot.fillbetween.js          |  226 +
 .../js/flot/jquery.flot.fillbetween.min.js      |    7 +
 .../resources/js/flot/jquery.flot.image.js      |  241 +
 .../resources/js/flot/jquery.flot.image.min.js  |    7 +
 .../resources/resources/js/flot/jquery.flot.js  | 3168 ++++++
 .../resources/js/flot/jquery.flot.min.js        |    8 +
 .../resources/js/flot/jquery.flot.navigate.js   |  346 +
 .../js/flot/jquery.flot.navigate.min.js         |    7 +
 .../resources/js/flot/jquery.flot.pie.js        |  820 ++
 .../resources/js/flot/jquery.flot.pie.min.js    |    7 +
 .../resources/js/flot/jquery.flot.resize.js     |   59 +
 .../resources/js/flot/jquery.flot.resize.min.js |    7 +
 .../resources/js/flot/jquery.flot.selection.js  |  360 +
 .../js/flot/jquery.flot.selection.min.js        |    7 +
 .../resources/js/flot/jquery.flot.stack.js      |  188 +
 .../resources/js/flot/jquery.flot.stack.min.js  |    7 +
 .../resources/js/flot/jquery.flot.symbol.js     |   71 +
 .../resources/js/flot/jquery.flot.symbol.min.js |    7 +
 .../resources/js/flot/jquery.flot.threshold.js  |  142 +
 .../js/flot/jquery.flot.threshold.min.js        |    7 +
 .../resources/js/flot/jquery.flot.time.js       |  432 +
 .../resources/js/flot/jquery.flot.time.min.js   |    7 +
 .../main/resources/resources/js/flot/jquery.js  | 9472 ++++++++++++++++++
 .../resources/resources/js/flot/jquery.min.js   |    5 +
 .../main/resources/resources/js/functions.js    |  802 ++
 .../src/main/resources/resources/js/gc.js       |  171 +
 .../src/main/resources/resources/js/global.js   |   96 +
 .../src/main/resources/resources/js/listType.js |  140 +
 .../src/main/resources/resources/js/log.js      |  176 +
 .../src/main/resources/resources/js/master.js   |  242 +
 .../src/main/resources/resources/js/navbar.js   |  133 +
 .../src/main/resources/resources/js/overview.js |  264 +
 .../src/main/resources/resources/js/problems.js |  227 +
 .../main/resources/resources/js/replication.js  |  131 +
 .../src/main/resources/resources/js/scans.js    |  129 +
 .../src/main/resources/resources/js/server.js   |  412 +
 .../src/main/resources/resources/js/show.js     |  158 +
 .../src/main/resources/resources/js/summary.js  |  138 +
 .../src/main/resources/resources/js/table.js    |  177 +
 .../src/main/resources/resources/js/tables.js   |  333 +
 .../src/main/resources/resources/js/tservers.js |  314 +
 .../src/main/resources/resources/js/vis.js      |  506 +
 .../src/main/resources/resources/listType.js    |  140 -
 .../monitor/src/main/resources/resources/log.js |  173 -
 .../src/main/resources/resources/master.js      |  265 -
 .../src/main/resources/resources/overview.js    |  293 -
 .../src/main/resources/resources/problems.js    |  232 -
 .../src/main/resources/resources/replication.js |  137 -
 .../src/main/resources/resources/scans.js       |  133 -
 .../src/main/resources/resources/screen.css     |  507 -
 .../src/main/resources/resources/server.js      |  429 -
 .../src/main/resources/resources/show.js        |  165 -
 .../src/main/resources/resources/sidebar.js     |  133 -
 .../src/main/resources/resources/summary.js     |  152 -
 .../src/main/resources/resources/table.js       |  208 -
 .../src/main/resources/resources/tables.js      |  355 -
 .../src/main/resources/resources/tservers.js    |  324 -
 .../monitor/src/main/resources/resources/up.gif |  Bin 165 -> 0 bytes
 .../monitor/src/main/resources/resources/vis.js |  506 -
 .../src/main/resources/resources/vis.js.old     |  409 -
 .../src/main/resources/templates/bulkImport.ftl |    4 +-
 .../src/main/resources/templates/default.ftl    |   71 +
 .../monitor/src/main/resources/templates/gc.ftl |    4 +-
 .../src/main/resources/templates/header.ftl     |   21 -
 .../src/main/resources/templates/index.ftl      |   72 -
 .../src/main/resources/templates/listType.ftl   |    2 +-
 .../src/main/resources/templates/log.ftl        |    4 +-
 .../src/main/resources/templates/master.ftl     |    8 +-
 .../src/main/resources/templates/modals.ftl     |    3 +-
 .../src/main/resources/templates/navbar.ftl     |   85 +
 .../src/main/resources/templates/overview.ftl   |   76 +-
 .../src/main/resources/templates/problems.ftl   |    4 +-
 .../main/resources/templates/replication.ftl    |    4 +-
 .../src/main/resources/templates/server.ftl     |   10 +-
 .../src/main/resources/templates/show.ftl       |   12 +-
 .../src/main/resources/templates/sidebar.ftl    |   85 -
 .../src/main/resources/templates/summary.ftl    |    8 +-
 .../src/main/resources/templates/table.ftl      |    3 +
 .../src/main/resources/templates/tables.ftl     |    3 +
 .../src/main/resources/templates/tservers.ftl   |    7 +-
 .../src/main/resources/templates/vis.ftl        |   12 +-
 198 files changed, 24746 insertions(+), 25085 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/core/src/main/java/org/apache/accumulo/core/conf/Property.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index 210c04d..4c74903 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -392,8 +392,11 @@ public enum Property {
   MONITOR_PREFIX("monitor.", null, PropertyType.PREFIX, "Properties in this category affect the behavior of the monitor web server."),
   MONITOR_PORT("monitor.port.client", "9995", PropertyType.PORT, "The listening port for the monitor's http service"),
   MONITOR_LOG4J_PORT("monitor.port.log4j", "4560", PropertyType.PORT, "The listening port for the monitor's log4j logging collection."),
+  @Deprecated
   MONITOR_BANNER_TEXT("monitor.banner.text", "", PropertyType.STRING, "The banner text displayed on the monitor page."),
+  @Deprecated
   MONITOR_BANNER_COLOR("monitor.banner.color", "#c4c4c4", PropertyType.STRING, "The color of the banner text displayed on the monitor page."),
+  @Deprecated
   MONITOR_BANNER_BACKGROUND("monitor.banner.background", "#304065", PropertyType.STRING,
       "The background color of the banner text displayed on the monitor page."),
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/pom.xml
----------------------------------------------------------------------
diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml
index 0dd4178..c9e51f2 100644
--- a/server/monitor/pom.xml
+++ b/server/monitor/pom.xml
@@ -141,7 +141,7 @@
           <artifactId>apache-rat-plugin</artifactId>
           <configuration>
             <excludes>
-              <exclude>src/main/resources/resources/flot/**/*.js</exclude>
+              <exclude>src/main/resources/resources/js/flot/**/*.js</exclude>
             </excludes>
           </configuration>
         </plugin>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/Totals.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/Totals.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/Totals.java
index 3053d00..283e923 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/Totals.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/Totals.java
@@ -26,14 +26,12 @@ package org.apache.accumulo.monitor.rest;
 public class Totals {
 
   // Variable names become JSON keys
-  public double ingestrate, queryrate, diskrate = 0.0;
-  public long numentries;
+  public double ingestrate = 0.0;
+  public double queryrate = 0.0;
+  public double diskrate = 0.0;
+  public long numentries = 0l;
 
-  public Totals() {
-    ingestrate = 0.0;
-    queryrate = 0.0;
-    numentries = 0l;
-  }
+  public Totals() {}
 
   /**
    * Initializes totals

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLInformation.java
index ebf3dae..5f44db6 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLInformation.java
@@ -43,7 +43,7 @@ import org.apache.accumulo.monitor.rest.tservers.TabletServer;
 public class XMLInformation {
 
   // Variable names become JSON keys
-  public List<TabletServer> servers;
+  public List<TabletServer> servers = new ArrayList<>();
 
   public String masterGoalState, masterState;
 
@@ -58,9 +58,7 @@ public class XMLInformation {
 
   public Totals totals;
 
-  public XMLInformation() {
-    servers = new ArrayList<>();
-  }
+  public XMLInformation() {}
 
   /**
    * Stores Monitor information as XML
@@ -95,7 +93,7 @@ public class XMLInformation {
    * @param tablet
    *          Tablet to add
    */
-  public void addTablet(TabletServer tablet) {
+  public void addTabletServer(TabletServer tablet) {
     servers.add(tablet);
   }
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLResource.java
index b9c97c6..4ace9d8 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/XMLResource.java
@@ -54,12 +54,14 @@ public class XMLResource {
       throw new WebApplicationException(Status.INTERNAL_SERVER_ERROR);
     }
 
+    new MasterResource();
+    new TablesResource();
     // Add Monitor information
-    XMLInformation xml = new XMLInformation(mmi.tServerInfo.size(), new MasterResource().getTables(), new TablesResource().getTables());
+    XMLInformation xml = new XMLInformation(mmi.tServerInfo.size(), MasterResource.getTables(), TablesResource.getTables());
 
     // Add tserver information
     for (TabletServerStatus status : mmi.tServerInfo) {
-      xml.addTablet(new TabletServer(status));
+      xml.addTabletServer(new TabletServer(status));
     }
 
     return xml;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/bulkImports/BulkImport.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/bulkImports/BulkImport.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/bulkImports/BulkImport.java
index 77e9e49..8923405 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/bulkImports/BulkImport.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/bulkImports/BulkImport.java
@@ -28,16 +28,10 @@ import java.util.List;
 public class BulkImport {
 
   // Variable names become JSON key
-  public List<BulkImportInformation> bulkImport;
-  public List<TabletServerBulkImportInformation> tabletServerBulkImport;
+  public List<BulkImportInformation> bulkImport = new ArrayList<>();
+  public List<TabletServerBulkImportInformation> tabletServerBulkImport = new ArrayList<>();
 
-  /**
-   * Constructor to create the bulk import and tserver bulk import arrays
-   */
-  public BulkImport() {
-    bulkImport = new ArrayList<>();
-    tabletServerBulkImport = new ArrayList<>();
-  }
+  public BulkImport() {}
 
   /**
    * Adds a new bulk import to the array

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollection.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollection.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollection.java
index 1e604c0..188685d 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollection.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollection.java
@@ -27,7 +27,7 @@ import org.apache.accumulo.core.gc.thrift.GcCycleStats;
  */
 public class GarbageCollection {
 
-  public static final GarbageCollection EMPTY = new GarbageCollection();
+  private static final GarbageCollection EMPTY = new GarbageCollection();
 
   // Variable names become JSON key
   public GarbageCollectorCycle lastCycle = new GarbageCollectorCycle();
@@ -60,4 +60,8 @@ public class GarbageCollection {
     this.lastCycle = last;
     this.currentCycle = current;
   }
+
+  public static GarbageCollection getEmpty() {
+    return EMPTY;
+  }
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorCycle.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorCycle.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorCycle.java
index a1beb8e..3e27d16 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorCycle.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorCycle.java
@@ -27,14 +27,17 @@ import org.apache.accumulo.core.gc.thrift.GcCycleStats;
  */
 public class GarbageCollectorCycle {
 
-  public static final GarbageCollectorCycle EMPTY = new GarbageCollectorCycle();
+  private static final GarbageCollectorCycle EMPTY = new GarbageCollectorCycle();
 
   // Variable names become JSON key
-  public long started, finished, candidates, inUse, deleted, errors;
+  public long started = 0l;
+  public long finished = 0l;
+  public long candidates = 0l;
+  public long inUse = 0l;
+  public long deleted = 0l;
+  public long errors = 0l;
 
-  public GarbageCollectorCycle() {
-    started = finished = candidates = inUse = deleted = errors = 0l;
-  }
+  public GarbageCollectorCycle() {}
 
   /**
    * Creates a new garbage collector cycle
@@ -50,4 +53,8 @@ public class GarbageCollectorCycle {
     this.deleted = thriftStats.deleted;
     this.errors = thriftStats.errors;
   }
+
+  public static GarbageCollectorCycle getEmpty() {
+    return EMPTY;
+  }
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorResource.java
index 69382e1..e3e4677 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorResource.java
@@ -55,7 +55,7 @@ public class GarbageCollectorResource {
   public GarbageCollection getFileStatus() {
     GCStatus gcStatus = Monitor.getGcStatus();
     if (null == gcStatus) {
-      return GarbageCollection.EMPTY;
+      return GarbageCollection.getEmpty();
     }
     return new GarbageCollection(gcStatus.last, gcStatus.current);
   }
@@ -70,7 +70,7 @@ public class GarbageCollectorResource {
   public GarbageCollectorCycle getLastCycle() {
     GCStatus status = Monitor.getGcStatus();
     if (null == status) {
-      return GarbageCollectorCycle.EMPTY;
+      return GarbageCollectorCycle.getEmpty();
     }
     return new GarbageCollectorCycle(status.last);
   }
@@ -85,7 +85,7 @@ public class GarbageCollectorResource {
   public GarbageCollectorCycle getCurrentCycle() {
     GCStatus status = Monitor.getGcStatus();
     if (null == status) {
-      return GarbageCollectorCycle.EMPTY;
+      return GarbageCollectorCycle.getEmpty();
     }
     return new GarbageCollectorCycle(status.current);
   }
@@ -100,7 +100,7 @@ public class GarbageCollectorResource {
   public GarbageCollection getWalStatus() {
     GCStatus gcStatus = Monitor.getGcStatus();
     if (null == gcStatus) {
-      return GarbageCollection.EMPTY;
+      return GarbageCollection.getEmpty();
     }
     return new GarbageCollection(gcStatus.lastLog, gcStatus.currentLog);
   }
@@ -115,7 +115,7 @@ public class GarbageCollectorResource {
   public GarbageCollectorCycle getLastWalCycle() {
     GCStatus status = Monitor.getGcStatus();
     if (null == status) {
-      return GarbageCollectorCycle.EMPTY;
+      return GarbageCollectorCycle.getEmpty();
     }
     return new GarbageCollectorCycle(status.lastLog);
   }
@@ -130,7 +130,7 @@ public class GarbageCollectorResource {
   public GarbageCollectorCycle getCurrentWalCycle() {
     GCStatus status = Monitor.getGcStatus();
     if (null == status) {
-      return GarbageCollectorCycle.EMPTY;
+      return GarbageCollectorCycle.getEmpty();
     }
     return new GarbageCollectorCycle(status.currentLog);
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorStatus.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorStatus.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorStatus.java
index c9f76f6..af322aa 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorStatus.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/gc/GarbageCollectorStatus.java
@@ -27,7 +27,7 @@ import org.apache.accumulo.core.gc.thrift.GCStatus;
  */
 public class GarbageCollectorStatus {
 
-  public static final GarbageCollectorStatus EMPTY = new GarbageCollectorStatus();
+  private static final GarbageCollectorStatus EMPTY = new GarbageCollectorStatus();
 
   // variable names become JSON key
   public GarbageCollection files = new GarbageCollection();
@@ -47,4 +47,8 @@ public class GarbageCollectorStatus {
       wals = new GarbageCollection(status.lastLog, status.currentLog);
     }
   }
+
+  public static GarbageCollectorStatus getEmpty() {
+    return EMPTY;
+  }
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/DeadLoggerList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/DeadLoggerList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/DeadLoggerList.java
index a186921..5520faf 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/DeadLoggerList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/DeadLoggerList.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class DeadLoggerList {
 
   // Variable names become JSON keys
-  public List<DeadLoggerInformation> deadLogger;
+  public List<DeadLoggerInformation> deadLogger = new ArrayList<>();
 
   /**
    * Creates the array list
    */
-  public DeadLoggerList() {
-    deadLogger = new ArrayList<>();
-  }
+  public DeadLoggerList() {}
 
   /**
    * Adds a new dead logger to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/LogResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/LogResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/LogResource.java
index 3b6dc39..40788a4 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/LogResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/logs/LogResource.java
@@ -50,18 +50,25 @@ public class LogResource {
     List<DedupedLogEvent> dedupedLogEvents = LogService.getInstance().getEvents();
     ArrayList<LogEvent> logEvents = new ArrayList<>(dedupedLogEvents.size());
 
-    final StringBuilder msg = new StringBuilder(64);
     for (DedupedLogEvent dev : dedupedLogEvents) {
-      msg.setLength(0);
-      final LoggingEvent ev = dev.getEvent();
+      LoggingEvent ev = dev.getEvent();
       Object application = ev.getMDC("application");
       if (application == null)
         application = "";
-
-      msg.append(ev.getMessage().toString());
+      String msg = ev.getMessage().toString();
+      StringBuilder text = new StringBuilder();
+      for (int i = 0; i < msg.length(); i++) {
+        char c = msg.charAt(i);
+        int type = Character.getType(c);
+        boolean notPrintable = type == Character.UNASSIGNED || type == Character.LINE_SEPARATOR || type == Character.NON_SPACING_MARK
+            || type == Character.PRIVATE_USE;
+        text.append(notPrintable ? '?' : c);
+      }
+      StringBuilder builder = new StringBuilder(text.toString());
       if (ev.getThrowableStrRep() != null)
         for (String line : ev.getThrowableStrRep())
-          msg.append("\n\t").append(line);
+          builder.append("\n\t").append(line);
+      msg = sanitize(builder.toString().trim());
 
       // Add a new log event to the list
       logEvents.add(new LogEvent(ev.getTimeStamp(), application, dev.getCount(), ev.getLevel().toString(), msg.toString().trim()));
@@ -69,6 +76,10 @@ public class LogResource {
     return logEvents;
   }
 
+  private String sanitize(String xml) {
+    return xml.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
+  }
+
   /**
    * REST call to clear the logs
    */

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterInformation.java
index 43871f7..26ecb33 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterInformation.java
@@ -31,15 +31,29 @@ import org.apache.accumulo.monitor.rest.tservers.ServersShuttingDown;
 public class MasterInformation {
 
   // Variable names become JSON keys
-  public String master, lastGC, gcStatus, masterGoalState, masterState;
+  public String master = "No Masters running";
+  public String lastGC = "0";
+  public String gcStatus;
+  public String masterGoalState;
+  public String masterState;
 
-  public Integer onlineTabletServers, totalTabletServers, tablets, unassignedTablets;
-  public long numentries;
-  public double osload, ingestrate, entriesRead, queryrate; // entriesReturned same as queryrate
-  public long holdTime;
+  public Integer onlineTabletServers = 0;
+  public Integer totalTabletServers = 0;
+  public Integer tablets = 0;
+  public Integer unassignedTablets = 0;
 
-  public int tables, deadTabletServersCount;
-  public long lookups, uptime;
+  public long numentries = 0l;
+  public double osload = 0l;
+  public double ingestrate = 0d;
+  public double entriesRead = 0d;
+  public double queryrate = 0d; // entriesReturned same as queryrate
+
+  public long holdTime = 0l;
+
+  public int tables;
+  public int deadTabletServersCount;
+  public long lookups;
+  public long uptime;
 
   public BadTabletServers badTabletServers;
   public ServersShuttingDown tabletServersShuttingDown;
@@ -49,20 +63,7 @@ public class MasterInformation {
   /**
    * Creates an empty master JSON object
    */
-  public MasterInformation() {
-    this.master = "No Masters running";
-    this.onlineTabletServers = 0;
-    this.totalTabletServers = 0;
-    this.lastGC = "0";
-    this.tablets = 0;
-    this.unassignedTablets = 0;
-    this.numentries = 0l;
-    this.ingestrate = 0d;
-    this.entriesRead = 0d;
-    this.queryrate = 0d;
-    this.holdTime = 0;
-    this.osload = 0l;
-  }
+  public MasterInformation() {}
 
   public MasterInformation(String master) {
     this.master = master;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterResource.java
index 4c33586..4079f24 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/master/MasterResource.java
@@ -27,6 +27,7 @@ import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 
+import org.apache.accumulo.core.gc.thrift.GCStatus;
 import org.apache.accumulo.core.master.thrift.DeadServer;
 import org.apache.accumulo.core.master.thrift.MasterMonitorInfo;
 import org.apache.accumulo.core.master.thrift.TabletServerStatus;
@@ -57,7 +58,7 @@ public class MasterResource {
   /**
    * Gets the MasterMonitorInfo, allowing for mocking frameworks for testability
    */
-  protected MasterMonitorInfo getMmi() {
+  protected static MasterMonitorInfo getMmi() {
     return Monitor.getMmi();
   }
 
@@ -67,20 +68,22 @@ public class MasterResource {
    * @return master JSON object
    */
   @GET
-  public MasterInformation getTables() {
+  public static MasterInformation getTables() {
 
     MasterInformation masterInformation;
+    MasterMonitorInfo mmi = Monitor.getMmi();
 
-    if (Monitor.getMmi() != null) {
+    if (mmi != null) {
+      GCStatus gcStatusObj = Monitor.getGcStatus();
       String gcStatus = "Waiting";
       String label = "";
-      if (Monitor.getGcStatus() != null) {
+      if (gcStatusObj != null) {
         long start = 0;
-        if (Monitor.getGcStatus().current.started != 0 || Monitor.getGcStatus().currentLog.started != 0) {
-          start = Math.max(Monitor.getGcStatus().current.started, Monitor.getGcStatus().currentLog.started);
+        if (gcStatusObj.current.started != 0 || gcStatusObj.currentLog.started != 0) {
+          start = Math.max(gcStatusObj.current.started, gcStatusObj.currentLog.started);
           label = "Running";
-        } else if (Monitor.getGcStatus().lastLog.finished != 0) {
-          start = Monitor.getGcStatus().lastLog.finished;
+        } else if (gcStatusObj.lastLog.finished != 0) {
+          start = gcStatusObj.lastLog.finished;
         }
         if (start != 0) {
           gcStatus = String.valueOf(start);
@@ -90,19 +93,19 @@ public class MasterResource {
       }
 
       List<String> tservers = new ArrayList<>();
-      for (TabletServerStatus up : Monitor.getMmi().tServerInfo) {
+      for (TabletServerStatus up : mmi.tServerInfo) {
         tservers.add(up.name);
       }
-      for (DeadServer down : Monitor.getMmi().deadTabletServers) {
+      for (DeadServer down : mmi.deadTabletServers) {
         tservers.add(down.server);
       }
       List<String> masters = Monitor.getContext().getInstance().getMasterLocations();
 
       String master = masters.size() == 0 ? "Down" : AddressUtil.parseAddress(masters.get(0), false).getHostText();
-      Integer onlineTabletServers = Monitor.getMmi().tServerInfo.size();
+      Integer onlineTabletServers = mmi.tServerInfo.size();
       Integer totalTabletServers = tservers.size();
       Integer tablets = Monitor.getTotalTabletCount();
-      Integer unassignedTablets = Monitor.getMmi().unassignedTablets;
+      Integer unassignedTablets = mmi.unassignedTablets;
       long entries = Monitor.getTotalEntries();
       double ingest = Monitor.getTotalIngestRate();
       double entriesRead = Monitor.getTotalScanRate();
@@ -111,7 +114,7 @@ public class MasterResource {
       double osLoad = ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage();
 
       int tables = Monitor.getTotalTables();
-      int deadTabletServers = Monitor.getMmi().deadTabletServers.size();
+      int deadTabletServers = mmi.deadTabletServers.size();
       long lookups = Monitor.getTotalLookups();
       long uptime = System.currentTimeMillis() - Monitor.getStartTime();
 
@@ -129,7 +132,7 @@ public class MasterResource {
    *
    * @return master state
    */
-  public String getState() {
+  public static String getState() {
     MasterMonitorInfo mmi = getMmi();
     if (null == mmi) {
       return NO_MASTERS;
@@ -142,7 +145,7 @@ public class MasterResource {
    *
    * @return master goal state
    */
-  public String getGoalState() {
+  public static String getGoalState() {
     MasterMonitorInfo mmi = getMmi();
     if (null == mmi) {
       return NO_MASTERS;
@@ -155,7 +158,7 @@ public class MasterResource {
    *
    * @return dead server list
    */
-  public DeadServerList getDeadTservers() {
+  public static DeadServerList getDeadTservers() {
     MasterMonitorInfo mmi = getMmi();
     if (null == mmi) {
       return new DeadServerList();
@@ -174,7 +177,7 @@ public class MasterResource {
    *
    * @return dead logger list
    */
-  public DeadLoggerList getDeadLoggers() {
+  public static DeadLoggerList getDeadLoggers() {
     MasterMonitorInfo mmi = getMmi();
     if (null == mmi) {
       return new DeadLoggerList();
@@ -193,7 +196,7 @@ public class MasterResource {
    *
    * @return bad tserver list
    */
-  public BadTabletServers getNumBadTservers() {
+  public static BadTabletServers getNumBadTservers() {
     MasterMonitorInfo mmi = getMmi();
     if (null == mmi) {
       return new BadTabletServers();
@@ -223,7 +226,7 @@ public class MasterResource {
    *
    * @return servers shutting down list
    */
-  public ServersShuttingDown getServersShuttingDown() {
+  public static ServersShuttingDown getServersShuttingDown() {
     ServersShuttingDown servers = new ServersShuttingDown();
     // Add new servers to the list
     for (String server : Monitor.getMmi().serversShuttingDown) {

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetail.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetail.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetail.java
new file mode 100644
index 0000000..4ac64db
--- /dev/null
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetail.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.monitor.rest.problems;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * Stores a new problem detail object
+ *
+ * @since 2.0.0
+ *
+ */
+public class ProblemDetail {
+
+  // Variable names become JSON keys
+  public List<ProblemDetailInformation> problemDetails = new ArrayList<>();
+
+  /**
+   * Creates the array list
+   */
+  public ProblemDetail() {}
+
+  /**
+   * Adds a new problem detail to the list
+   *
+   * @param problemDetail
+   *          problem detail to add
+   */
+  public void addProblemDetail(ProblemDetailInformation problemDetail) {
+    this.problemDetails.add(problemDetail);
+  }
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
index 6ed64a2..436e3fd 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemDetailInformation.java
@@ -26,9 +26,14 @@ package org.apache.accumulo.monitor.rest.problems;
 public class ProblemDetailInformation {
 
   // Variable names become JSON keys
-  public String tableName, tableID, type, server;
+  public String tableName;
+  public String tableID;
+  public String type;
+  public String server;
+
   public Long time;
-  public String resource, exception;
+  public String resource;
+  public String exception;
 
   public ProblemDetailInformation() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummary.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummary.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummary.java
new file mode 100644
index 0000000..0c71eda
--- /dev/null
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummary.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.monitor.rest.problems;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * Stores a new problem summary object
+ *
+ * @since 2.0.0
+ *
+ */
+public class ProblemSummary {
+
+  // Variable names become JSON keys
+  public List<ProblemSummaryInformation> problemSummary = new ArrayList<>();
+
+  /**
+   * Creates the array list
+   */
+  public ProblemSummary() {}
+
+  /**
+   * Adds a new problem summary to the list
+   *
+   * @param problemSummary
+   *          problem summary to add
+   */
+  public void addProblemSummary(ProblemSummaryInformation problemSummary) {
+    this.problemSummary.add(problemSummary);
+  }
+}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
index 9989d54..53e032f 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemSummaryInformation.java
@@ -26,8 +26,12 @@ package org.apache.accumulo.monitor.rest.problems;
 public class ProblemSummaryInformation {
 
   // Variable names become JSON keys
-  public String tableName, tableID;
-  public Integer fileRead, fileWrite, tableLoad;
+  public String tableName;
+  public String tableID;
+
+  public Integer fileRead;
+  public Integer fileWrite;
+  public Integer tableLoad;
 
   public ProblemSummaryInformation() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemsResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemsResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemsResource.java
index fd11faa..baff1de 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemsResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/problems/ProblemsResource.java
@@ -17,9 +17,7 @@
 package org.apache.accumulo.monitor.rest.problems;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -58,11 +56,9 @@ public class ProblemsResource {
    */
   @GET
   @Path("summary")
-  public Map<String,List<ProblemSummaryInformation>> getSummary() {
+  public ProblemSummary getSummary() {
 
-    Map<String,List<ProblemSummaryInformation>> jsonObj = new HashMap<String,List<ProblemSummaryInformation>>();
-
-    List<ProblemSummaryInformation> problems = new ArrayList<>();
+    ProblemSummary problems = new ProblemSummary();
 
     Map<String,String> tidToNameMap = Tables.getIdToNameMap(HdfsZooInstance.getInstance());
 
@@ -83,12 +79,10 @@ public class ProblemsResource {
 
         String tableName = Tables.getPrintableTableNameFromId(tidToNameMap, entry.getKey());
 
-        problems.add(new ProblemSummaryInformation(tableName, entry.getKey(), readCount, writeCount, loadCount));
+        problems.addProblemSummary(new ProblemSummaryInformation(tableName, entry.getKey(), readCount, writeCount, loadCount));
       }
     }
-    jsonObj.put("problemSummary", problems);
-
-    return jsonObj;
+    return problems;
   }
 
   /**
@@ -116,11 +110,9 @@ public class ProblemsResource {
    */
   @GET
   @Path("details")
-  public Map<String,List<ProblemDetailInformation>> getDetails() {
+  public ProblemDetail getDetails() {
 
-    Map<String,List<ProblemDetailInformation>> jsonObj = new HashMap<String,List<ProblemDetailInformation>>();
-
-    List<ProblemDetailInformation> problems = new ArrayList<>();
+    ProblemDetail problems = new ProblemDetail();
 
     Map<String,String> tidToNameMap = Tables.getIdToNameMap(HdfsZooInstance.getInstance());
 
@@ -134,14 +126,12 @@ public class ProblemsResource {
         for (ProblemReport pr : problemReports) {
           String tableName = Tables.getPrintableTableNameFromId(tidToNameMap, pr.getTableName());
 
-          problems.add(new ProblemDetailInformation(tableName, entry.getKey(), pr.getProblemType().name(), pr.getServer(), pr.getTime(), pr.getResource(), pr
-              .getException()));
+          problems.addProblemDetail(new ProblemDetailInformation(tableName, entry.getKey(), pr.getProblemType().name(), pr.getServer(), pr.getTime(), pr
+              .getResource(), pr.getException()));
         }
       }
     }
-    jsonObj.put("problemDetails", problems);
-
-    return jsonObj;
+    return problems;
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationInformation.java
index c6ebc5f..aaa98e3 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/replication/ReplicationInformation.java
@@ -26,7 +26,11 @@ package org.apache.accumulo.monitor.rest.replication;
 public class ReplicationInformation {
 
   // Variable names become JSON keys
-  public String tableName, peerName, remoteIdentifier, replicaSystemType;
+  public String tableName;
+  public String peerName;
+  public String remoteIdentifier;
+  public String replicaSystemType;
+
   public long filesNeedingReplication;
 
   public ReplicationInformation() {}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/scans/Scans.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/scans/Scans.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/scans/Scans.java
index db2d5b0..f561378 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/scans/Scans.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/scans/Scans.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class Scans {
 
   // Variable names become JSON keys
-  public List<ScanInformation> scans;
+  public List<ScanInformation> scans = new ArrayList<>();
 
   /**
    * Initializes the array list
    */
-  public Scans() {
-    scans = new ArrayList<>();
-  }
+  public Scans() {}
 
   /**
    * Adds a new scan to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusInformation.java
index 0d361ba..d38e60b 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusInformation.java
@@ -26,20 +26,15 @@ package org.apache.accumulo.monitor.rest.status;
 public class StatusInformation {
 
   // Variable names become JSON keys
-  public String masterStatus, gcStatus, tServerStatus;
+  public String masterStatus = null;
+  public String gcStatus = null;
+  public String tServerStatus = null;
 
-  public Integer logNumber;
-  public boolean logsHaveError;
-  public Integer problemNumber;
+  public Integer logNumber = 0;
+  public boolean logsHaveError = false;
+  public Integer problemNumber = 0;
 
-  public StatusInformation() {
-    this.masterStatus = null;
-    this.gcStatus = null;
-    this.tServerStatus = null;
-    this.logNumber = 0;
-    this.logsHaveError = false;
-    this.problemNumber = 0;
-  }
+  public StatusInformation() {}
 
   /**
    * Generate the status report for the services

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusResource.java
index c572e97..a276c6f 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/status/StatusResource.java
@@ -42,6 +42,10 @@ import org.apache.log4j.Level;
 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
 public class StatusResource {
 
+  public enum Status {
+    OK, ERROR, WARN;
+  }
+
   /**
    * Generates the JSON object with the status
    *
@@ -51,15 +55,15 @@ public class StatusResource {
   public StatusInformation getTables() {
 
     StatusInformation status;
-    String masterStatus;
-    String gcStatus;
-    String tServerStatus = "ERROR";
+    Status masterStatus;
+    Status gcStatus;
+    Status tServerStatus = Status.ERROR;
 
     if (Monitor.getMmi() != null) {
       if (Monitor.getGcStatus() != null) {
-        gcStatus = "OK";
+        gcStatus = Status.OK;
       } else {
-        gcStatus = "ERROR";
+        gcStatus = Status.ERROR;
       }
 
       List<String> tservers = new ArrayList<>();
@@ -71,7 +75,7 @@ public class StatusResource {
       }
       List<String> masters = Monitor.getContext().getInstance().getMasterLocations();
 
-      masterStatus = masters.size() == 0 ? "ERROR" : "OK";
+      masterStatus = masters.size() == 0 ? Status.ERROR : Status.OK;
 
       int tServerUp = Monitor.getMmi().getTServerInfoSize();
       int tServerDown = Monitor.getMmi().getDeadTabletServersSize();
@@ -82,20 +86,20 @@ public class StatusResource {
        * status is WARN, otherwise, the status is an error.
        */
       if ((tServerDown > 0 || tServerBad > 0) && tServerUp > 0) {
-        tServerStatus = "WARN";
+        tServerStatus = Status.WARN;
       } else if ((tServerDown == 0 || tServerBad == 0) && tServerUp > 0) {
-        tServerStatus = "OK";
+        tServerStatus = Status.OK;
       } else if (tServerUp == 0) {
-        tServerStatus = "ERROR";
+        tServerStatus = Status.ERROR;
       }
     } else {
-      masterStatus = "ERROR";
+      masterStatus = Status.ERROR;
       if (null == Monitor.getGcStatus()) {
-        gcStatus = "ERROR";
+        gcStatus = Status.ERROR;
       } else {
-        gcStatus = "OK";
+        gcStatus = Status.OK;
       }
-      tServerStatus = "ERROR";
+      tServerStatus = Status.ERROR;
     }
 
     List<DedupedLogEvent> logs = LogService.getInstance().getEvents();
@@ -109,7 +113,7 @@ public class StatusResource {
 
     int numProblems = Monitor.getProblemSummary().entrySet().size();
 
-    status = new StatusInformation(masterStatus, gcStatus, tServerStatus, logs.size(), logsHaveError, numProblems);
+    status = new StatusInformation(masterStatus.toString(), gcStatus.toString(), tServerStatus.toString(), logs.size(), logsHaveError, numProblems);
 
     return status;
   }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsList.java
index d6f6b36..60f11e2 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsList.java
@@ -26,12 +26,10 @@ package org.apache.accumulo.monitor.rest.tables;
 public class CompactionsList {
 
   // Variable names become JSON keys
-  public Integer running, queued;
+  public Integer running = null;
+  public Integer queued = null;
 
-  public CompactionsList() {
-    running = null;
-    queued = null;
-  }
+  public CompactionsList() {}
 
   /**
    * Generate a compation list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsTypes.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsTypes.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsTypes.java
index a60d1fc..4699c18 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsTypes.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/CompactionsTypes.java
@@ -26,13 +26,11 @@ package org.apache.accumulo.monitor.rest.tables;
 public class CompactionsTypes {
 
   // Variable names become JSON objects
-  public CompactionsList scans, major, minor;
+  public CompactionsList scans = new CompactionsList();
+  public CompactionsList major = new CompactionsList();
+  public CompactionsList minor = new CompactionsList();
 
-  public CompactionsTypes() {
-    scans = new CompactionsList();
-    major = new CompactionsList();
-    minor = new CompactionsList();
-  }
+  public CompactionsTypes() {}
 
   /**
    * Create a new compaction list based on types

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
index 56b9efb..51e2390 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformation.java
@@ -28,18 +28,34 @@ import org.apache.accumulo.core.master.thrift.TableInfo;
 public class TableInformation {
 
   // Variable names become JSON keys
-  public String tablename, tableId, tableState;
+  public String tablename;
+  public String tableId;
+  public String tableState;
+
+  public int tablets;
+  public int onlineTablets;
+  public long recs;
+  public long recsInMemory;
+
+  public double ingest;
+  public double ingestByteRate;
+  public double query;
+  public double queryByteRate;
+
+  public CompactionsList majorCompactions;
+  public CompactionsList minorCompactions;
+  public CompactionsList scans;
+
+  private int queuedMajorCompactions;
+  private int runningMajorCompactions;
+  private int queuedMinorCompactions;
+  private int runningMinorCompactions;
+  private int queuedScans;
+  private int runningScans;
+
+  public double entriesRead;
+  public double entriesReturned;
 
-  public int tablets, onlineTablets;
-  public long recs, recsInMemory;
-
-  public double ingest, ingestByteRate, query, queryByteRate;
-
-  public CompactionsList majorCompactions, minorCompactions, scans;
-
-  private int queuedMajorCompactions, runningMajorCompactions, queuedMinorCompactions, runningMinorCompactions, queuedScans, runningScans;
-
-  public double entriesRead, entriesReturned;
   public Double holdTime;
 
   public int offlineTablets;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformationList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformationList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformationList.java
index 04da0c5..f5feef4 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformationList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableInformationList.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class TableInformationList {
 
   // Variable names become JSON keys
-  public List<TableInformation> table;
+  public List<TableInformation> table = new ArrayList<>();
 
   /**
    * Initializes the array list
    */
-  public TableInformationList() {
-    table = new ArrayList<>();
-  }
+  public TableInformationList() {}
 
   /**
    * Adds a new table to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableNamespace.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableNamespace.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableNamespace.java
index af4fb5e..4d6ae2a 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableNamespace.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TableNamespace.java
@@ -30,9 +30,7 @@ public class TableNamespace {
 
   // Variable names become JSON keys
   public String namespace;
-  public List<TableInformation> table;
-
-  public TableNamespace() {}
+  public List<TableInformation> table = new ArrayList<>();
 
   /**
    * Creates a new namespace group with an empty list
@@ -42,7 +40,6 @@ public class TableNamespace {
    */
   public TableNamespace(String name) {
     namespace = name;
-    table = new ArrayList<>();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesList.java
index 205e866..64de0d9 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesList.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class TablesList {
 
   // Variable names become JSON keys
-  public List<TableNamespace> tables;
+  public List<TableNamespace> tables = new ArrayList<>();
 
   /**
    * Initializes array list
    */
-  public TablesList() {
-    tables = new ArrayList<>();
-  }
+  public TablesList() {}
 
   /**
    * Add a table to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesResource.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesResource.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesResource.java
index dbaca42..8c4f685 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesResource.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tables/TablesResource.java
@@ -71,7 +71,31 @@ public class TablesResource {
    *          Namespace used to filter the tables
    * @return Table list
    */
-  private TablesList generateTables(String namespace) {
+  private static TablesList generateTables(String namespace) {
+    SortedMap<String,String> namespaces = Namespaces.getNameToIdMap(Monitor.getContext().getInstance());
+
+    TablesList tableNamespace = new TablesList();
+
+    /*
+     * Add the tables that have the selected namespace Asterisk = All namespaces Hyphen = Default namespace
+     */
+    for (String key : namespaces.keySet()) {
+      if (namespace.equals("*") || namespace.equals(key) || (key.isEmpty() && namespace.equals("-"))) {
+        tableNamespace.addTable(new TableNamespace(key));
+      }
+    }
+
+    return generateTables(tableNamespace);
+  }
+
+  /**
+   * Generates a table list based on the list of namespaces
+   *
+   * @param tableNamespace
+   *          Namespace list
+   * @return Table list
+   */
+  private static TablesList generateTables(TablesList tableNamespace) {
     Instance inst = Monitor.getContext().getInstance();
     Map<String,String> tidToNameMap = Tables.getIdToNameMap(inst);
     SortedMap<String,TableInfo> tableStats = new TreeMap<>();
@@ -79,22 +103,10 @@ public class TablesResource {
     if (Monitor.getMmi() != null && Monitor.getMmi().tableMap != null)
       for (Entry<String,TableInfo> te : Monitor.getMmi().tableMap.entrySet())
         tableStats.put(Tables.getPrintableTableNameFromId(tidToNameMap, te.getKey()), te.getValue());
-
     Map<String,Double> compactingByTable = TableInfoUtil.summarizeTableStats(Monitor.getMmi());
     TableManager tableManager = TableManager.getInstance();
-
-    SortedMap<String,String> namespaces = Namespaces.getNameToIdMap(Monitor.getContext().getInstance());
-
-    TablesList tableNamespace = new TablesList();
     List<TableInformation> tables = new ArrayList<>();
 
-    // Add the tables that have the selected namespace
-    for (String key : namespaces.keySet()) {
-      if (namespace.equals("*") || namespace.equals(key) || (key.equals("") && namespace.equals("-"))) {
-        tableNamespace.addTable(new TableNamespace(key));
-      }
-    }
-
     // Add tables to the list
     for (Entry<String,String> entry : Tables.getNameToIdMap(HdfsZooInstance.getInstance()).entrySet()) {
       String tableName = entry.getKey(), tableId = entry.getValue();
@@ -106,17 +118,16 @@ public class TablesResource {
 
         for (TableNamespace name : tableNamespace.tables) {
           // Check if table has the default namespace
-          if (!tableName.contains(".") && name.namespace.equals("")) {
+          if (!tableName.contains(".") && name.namespace.isEmpty()) {
             name.addTable(new TableInformation(tableName, tableId, tableInfo, holdTime, tableManager.getTableState(tableId).name()));
           } else if (tableName.startsWith(name.namespace + ".")) {
             name.addTable(new TableInformation(tableName, tableId, tableInfo, holdTime, tableManager.getTableState(tableId).name()));
           }
         }
-
         tables.add(new TableInformation(tableName, tableId, tableInfo, holdTime, tableManager.getTableState(tableId).name()));
       } else {
         for (TableNamespace name : tableNamespace.tables) {
-          if (!tableName.contains(".") && name.namespace.equals("")) {
+          if (!tableName.contains(".") && name.namespace.isEmpty()) {
             name.addTable(new TableInformation(tableName, tableId, tableManager.getTableState(tableId).name()));
           } else if (tableName.startsWith(name.namespace + ".")) {
             name.addTable(new TableInformation(tableName, tableId, tableManager.getTableState(tableId).name()));
@@ -127,7 +138,6 @@ public class TablesResource {
     }
 
     return tableNamespace;
-
   }
 
   /**
@@ -136,7 +146,7 @@ public class TablesResource {
    * @return list with all tables
    */
   @GET
-  public TablesList getTables() {
+  public static TablesList getTables() {
     return generateTables("*");
   }
 
@@ -154,6 +164,33 @@ public class TablesResource {
   }
 
   /**
+   * Generates a list with the list of namespaces
+   *
+   * @param namespaceList
+   *          List of namespaces separated by a comma
+   * @return list with selected tables
+   */
+  @GET
+  @Path("namespaces/{namespaces}")
+  public TablesList getTableWithNamespace(@PathParam("namespaces") String namespaceList) {
+    SortedMap<String,String> namespaces = Namespaces.getNameToIdMap(Monitor.getContext().getInstance());
+
+    TablesList tableNamespace = new TablesList();
+    /*
+     * Add the tables that have the selected namespace Asterisk = All namespaces Hyphen = Default namespace
+     */
+    for (String namespace : namespaceList.split(",")) {
+      for (String key : namespaces.keySet()) {
+        if (namespace.equals("*") || namespace.equals(key) || (key.isEmpty() && namespace.equals("-"))) {
+          tableNamespace.addTable(new TableNamespace(key));
+        }
+      }
+    }
+
+    return generateTables(tableNamespace);
+  }
+
+  /**
    * Generates a list of participating tservers for a table
    *
    * @param tableId
@@ -165,6 +202,8 @@ public class TablesResource {
   public TabletServers getParticipatingTabletServers(@PathParam("tableId") String tableId) throws Exception {
     Instance instance = Monitor.getContext().getInstance();
 
+    TabletServers tabletServers = new TabletServers(Monitor.getMmi().tServerInfo.size());
+
     TreeSet<String> locs = new TreeSet<>();
     if (RootTable.ID.equals(tableId)) {
       locs.add(instance.getRootTabletLocation());
@@ -178,14 +217,15 @@ public class TablesResource {
         if (state.current != null) {
           try {
             locs.add(state.current.hostPort());
-          } catch (Exception ex) {}
+          } catch (Exception ex) {
+            scanner.close();
+            return tabletServers;
+          }
         }
       }
       scanner.close();
     }
 
-    TabletServers tabletServers = new TabletServers(Monitor.getMmi().tServerInfo.size());
-
     List<TabletServerStatus> tservers = new ArrayList<>();
     if (Monitor.getMmi() != null) {
       for (TabletServerStatus tss : Monitor.getMmi().tServerInfo) {
@@ -193,7 +233,7 @@ public class TablesResource {
           if (tss.name != null && locs.contains(tss.name))
             tservers.add(tss);
         } catch (Exception ex) {
-
+          return tabletServers;
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/AddlInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/AddlInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/AddlInformation.java
index f51dfaf..2f257f5 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/AddlInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/AddlInformation.java
@@ -29,16 +29,13 @@ import java.util.List;
 public class AddlInformation {
 
   // Variable names become JSON keys
-  public List<DataInformation> data;
-  public List<AnnotationInformation> annotations;
+  public List<DataInformation> data = new ArrayList<>();
+  public List<AnnotationInformation> annotations = new ArrayList<>();
 
   /**
    * Initializes data and annotation array lists
    */
-  public AddlInformation() {
-    data = new ArrayList<>();
-    annotations = new ArrayList<>();
-  }
+  public AddlInformation() {}
 
   /**
    * Add a new data

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/DataInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/DataInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/DataInformation.java
index c82003b..77a3ba8 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/DataInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/DataInformation.java
@@ -26,7 +26,8 @@ package org.apache.accumulo.monitor.rest.trace;
 public class DataInformation {
 
   // Variable names become JSON keys
-  public String key, value;
+  public String key;
+  public String value;
 
   public DataInformation() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesInformation.java
index 0577f8a..95b5e0b 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesInformation.java
@@ -33,7 +33,9 @@ public class RecentTracesInformation {
 
   public int total = 0;
 
-  public long min = Long.MAX_VALUE, max = Long.MIN_VALUE;
+  public long min = Long.MAX_VALUE;
+  public long max = Long.MIN_VALUE;
+
   private long totalMS = 0l;
   public long histogram[] = new long[] {0l, 0l, 0l, 0l, 0l, 0l};
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesList.java
index 522466b..b23207a 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/RecentTracesList.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class RecentTracesList {
 
   // Variable names become JSON keys
-  public List<RecentTracesInformation> recentTraces;
+  public List<RecentTracesInformation> recentTraces = new ArrayList<>();
 
   /**
    * Initializes recent traces array list
    */
-  public RecentTracesList() {
-    recentTraces = new ArrayList<>();
-  }
+  public RecentTracesList() {}
 
   /**
    * Adds a new trace to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceInformation.java
index c809586..7381b3e 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceInformation.java
@@ -27,7 +27,8 @@ public class TraceInformation {
 
   // Variable names become JSON keys
   public int level;
-  public long time, start;
+  public long time;
+  public long start;
   public long spanID;
   public String location, name;
   public AddlInformation addlData;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceList.java
index 399ef3c..661b451 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceList.java
@@ -31,11 +31,9 @@ public class TraceList {
   // Variable names become JSON keys
   public String id;
   public Long start;
-  public List<TraceInformation> traces;
+  public List<TraceInformation> traces = new ArrayList<>();
 
-  public TraceList() {
-    traces = new ArrayList<>();
-  }
+  public TraceList() {}
 
   /**
    * Creates a new trace list grouped by ID

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceType.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceType.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceType.java
index 9673dfc..706743b 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceType.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TraceType.java
@@ -30,11 +30,9 @@ public class TraceType {
 
   // Variable names become JSON objects
   public String traceType;
-  public List<TracesForTypeInformation> traces;
+  public List<TracesForTypeInformation> traces = new ArrayList<>();
 
-  public TraceType() {
-    traces = new ArrayList<>();
-  }
+  public TraceType() {}
 
   /**
    * Creates a new list grouped by type

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TracesForTypeInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TracesForTypeInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TracesForTypeInformation.java
index 62c9d9a..f1b4270 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TracesForTypeInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/trace/TracesForTypeInformation.java
@@ -28,8 +28,11 @@ import org.apache.accumulo.tracer.thrift.RemoteSpan;
 public class TracesForTypeInformation {
 
   // Variable names become JSON keys
-  public String id, source;
-  public Long start, ms;
+  public String id;
+  public String source;
+
+  public Long start;
+  public Long ms;
 
   public TracesForTypeInformation() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/AllTimeTabletResults.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/AllTimeTabletResults.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/AllTimeTabletResults.java
index 7cf121e..a596e9a 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/AllTimeTabletResults.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/AllTimeTabletResults.java
@@ -27,9 +27,13 @@ public class AllTimeTabletResults {
 
   // Variable names become JSON keys
   public String operation;
-  public int success, failure;
-  public Double queueStdDev, avgQueueTime, avgTime;
-  public double timeSpent, stdDev;
+  public int success;
+  public int failure;
+  public Double queueStdDev;
+  public Double avgQueueTime;
+  public Double avgTime;
+  public double timeSpent;
+  public double stdDev;
 
   public AllTimeTabletResults() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServerInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServerInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServerInformation.java
index 479809d..65cfab2 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServerInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServerInformation.java
@@ -29,7 +29,10 @@ public class BadTabletServerInformation {
 
   // Variable names become JSON keys
   @XmlAttribute
-  public String id, status;
+  public String id;
+
+  @XmlAttribute
+  public String status;
 
   public BadTabletServerInformation() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServers.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServers.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServers.java
index 49249d3..06b2336 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServers.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/BadTabletServers.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class BadTabletServers {
 
   // Variable names become JSON keys
-  public List<BadTabletServerInformation> badTabletServer;
+  public List<BadTabletServerInformation> badTabletServer = new ArrayList<>();
 
   /**
    * Initializes bad tserver list
    */
-  public BadTabletServers() {
-    badTabletServer = new ArrayList<>();
-  }
+  public BadTabletServers() {}
 
   /**
    * Adds a new bad tserver to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java
index 8f12ae5..4db7587 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentOperations.java
@@ -26,10 +26,18 @@ package org.apache.accumulo.monitor.rest.tservers;
 public class CurrentOperations {
 
   // Variable names become JSON keys
-  public String name, tablet, tableID;
+  public String name;
+  public String tablet;
+  public String tableID;
   public long entries;
-  public double ingest, query;
-  public Double minorStdDev, minorAvgES, majorStdDev, majorAvgES, minorAvg, majorAvg;
+  public double ingest;
+  public double query;
+  public Double minorStdDev;
+  public Double minorAvgES;
+  public Double majorStdDev;
+  public Double majorAvgES;
+  public Double minorAvg;
+  public Double majorAvg;
 
   public CurrentOperations() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentTabletResults.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentTabletResults.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentTabletResults.java
index 17db9c7..bc58ef8 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentTabletResults.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/CurrentTabletResults.java
@@ -26,7 +26,10 @@ package org.apache.accumulo.monitor.rest.tservers;
 public class CurrentTabletResults {
 
   // Variable names become JSON keys
-  public Double currentMinorAvg, currentMinorStdDev, currentMajorAvg, currentMajorStdDev;
+  public Double currentMinorAvg;
+  public Double currentMinorStdDev;
+  public Double currentMajorAvg;
+  public Double currentMajorStdDev;
 
   public CurrentTabletResults() {}
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/DeadServerList.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/DeadServerList.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/DeadServerList.java
index 85bf10f..9a9d328 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/DeadServerList.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/DeadServerList.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class DeadServerList {
 
   // Variable names become JSON keys
-  public List<DeadServerInformation> deadTabletServer;
+  public List<DeadServerInformation> deadTabletServer = new ArrayList<>();
 
   /**
    * Initializes the dead tserver list
    */
-  public DeadServerList() {
-    deadTabletServer = new ArrayList<>();
-  }
+  public DeadServerList() {}
 
   /**
    * Adds a new dead tserver to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServerStats.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServerStats.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServerStats.java
index 7327b5e..5f0915d 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServerStats.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServerStats.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class ServerStats {
 
   // Variable names become JSON keys
-  public List<ServerStat> serverStats;
+  public List<ServerStat> serverStats = new ArrayList<>();
 
   /**
    * Initializes stats list
    */
-  public ServerStats() {
-    serverStats = new ArrayList<>();
-  }
+  public ServerStats() {}
 
   /**
    * Adds a new stat to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServersShuttingDown.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServersShuttingDown.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServersShuttingDown.java
index 8c27c10..bde4f6b 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServersShuttingDown.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/ServersShuttingDown.java
@@ -29,14 +29,12 @@ import java.util.List;
 public class ServersShuttingDown {
 
   // Variable names become JSON keys
-  public List<ServerShuttingDownInformation> server;
+  public List<ServerShuttingDownInformation> server = new ArrayList<>();
 
   /**
    * Initalizes tservers list
    */
-  public ServersShuttingDown() {
-    server = new ArrayList<>();
-  }
+  public ServersShuttingDown() {}
 
   /**
    * Adds a new tserver to the list

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServer.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServer.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServer.java
index 69a4d04..7cdaf42 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServer.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServer.java
@@ -29,11 +29,9 @@ import org.apache.accumulo.core.master.thrift.TabletServerStatus;
 public class TabletServer {
 
   // Variable names become JSON keys
-  public TabletServerInformation server;
+  public TabletServerInformation server = new TabletServerInformation();
 
-  public TabletServer() {
-    server = new TabletServerInformation();
-  }
+  public TabletServer() {}
 
   public TabletServer(TabletServerInformation server) {
     this.server = server;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/680b3a21/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServerDetailInformation.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServerDetailInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServerDetailInformation.java
index 7e0fd0c..4920b76 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServerDetailInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/tservers/TabletServerDetailInformation.java
@@ -26,7 +26,10 @@ package org.apache.accumulo.monitor.rest.tservers;
 public class TabletServerDetailInformation {
 
   // Variable names become JSON keys
-  public int hostedTablets, minors, majors, splits;
+  public int hostedTablets;
+  public int minors;
+  public int majors;
+  public int splits;
   public long entries;
 
   public TabletServerDetailInformation() {}


Mime
View raw message