| CLIProductBuilder.java |   | 29% |   | 40% | 51 | 70 | 221 | 303 | 8 | 13 | 0 | 1 |
| ReplicationStorageListener.java |  | 0% |  | 0% | 25 | 25 | 151 | 151 | 11 | 11 | 2 | 2 |
| ProductTracker.java |   | 21% |   | 3% | 44 | 55 | 146 | 188 | 12 | 23 | 0 | 1 |
| Bootstrap.java |  | 0% |  | 0% | 23 | 23 | 126 | 126 | 5 | 5 | 1 | 1 |
| FileProductStorage.java |   | 59% |   | 55% | 33 | 74 | 118 | 304 | 11 | 40 | 1 | 3 |
| SocketProductSender.java |   | 40% |   | 47% | 29 | 46 | 78 | 164 | 16 | 28 | 0 | 1 |
| ExternalNotificationListener.java |   | 22% |   | 29% | 28 | 38 | 106 | 143 | 8 | 14 | 0 | 1 |
| DefaultNotificationReceiver.java |   | 65% |   | 48% | 43 | 72 | 75 | 258 | 12 | 33 | 0 | 2 |
| ProductClient.java |   | 38% |   | 35% | 32 | 49 | 119 | 187 | 8 | 17 | 1 | 2 |
| ProductResender.java |  | 0% |  | 0% | 30 | 30 | 98 | 98 | 4 | 4 | 1 | 1 |
| ProductBuilder.java |   | 34% |   | 27% | 24 | 35 | 66 | 114 | 9 | 17 | 0 | 1 |
| AdminSocketServer.java |  | 0% |  | 0% | 25 | 25 | 96 | 96 | 14 | 14 | 1 | 1 |
| DefaultNotificationListener.java |   | 58% |   | 52% | 22 | 47 | 60 | 157 | 7 | 24 | 0 | 2 |
| EIDSNotificationReceiver.java |  | 0% |  | 0% | 14 | 14 | 58 | 58 | 8 | 8 | 1 | 1 |
| ContentListener.java |  | 0% |  | 0% | 22 | 22 | 69 | 69 | 12 | 12 | 1 | 1 |
| DefaultNotificationSender.java |   | 48% |   | 50% | 12 | 26 | 31 | 82 | 7 | 18 | 0 | 1 |
| EmbeddedPDLClient.java |  | 0% |  | 0% | 8 | 8 | 51 | 51 | 7 | 7 | 3 | 3 |
| WebSocketNotificationReceiver.java |   | 45% |   | 10% | 21 | 31 | 42 | 82 | 16 | 26 | 0 | 1 |
| ExecutorListenerNotifier.java |   | 71% |   | 54% | 26 | 53 | 39 | 144 | 7 | 22 | 0 | 1 |
| SignatureVerifier.java |   | 51% |   | 50% | 16 | 29 | 28 | 71 | 5 | 13 | 0 | 1 |
| SocketProductReceiverHandler.java |   | 61% |   | 53% | 10 | 22 | 30 | 98 | 1 | 8 | 0 | 1 |
| EIDSNotificationSender.java |   | 38% |   | 27% | 11 | 17 | 24 | 48 | 2 | 8 | 0 | 1 |
| HashFileProductStorage.java |  | 0% |  | 0% | 9 | 9 | 39 | 39 | 5 | 5 | 1 | 1 |
| DeflateComparison.java |   | 65% |  | 0% | 7 | 16 | 30 | 78 | 3 | 12 | 0 | 2 |
| WebSocketClient.java |  | 0% |  | 0% | 14 | 14 | 43 | 43 | 9 | 9 | 1 | 1 |
| FutureListenerNotifier.java |  | 0% |  | 0% | 10 | 10 | 30 | 30 | 5 | 5 | 1 | 1 |
| ProductTrackerParser.java |  | 0% |  | 0% | 5 | 5 | 24 | 24 | 4 | 4 | 1 | 1 |
| RelayProductListener.java |  | 0% |  | 0% | 11 | 11 | 31 | 31 | 8 | 8 | 1 | 1 |
| Factory.java |  | 0% | | n/a | 5 | 5 | 26 | 26 | 5 | 5 | 1 | 1 |
| URLProductStorage.java |   | 74% |   | 35% | 15 | 26 | 20 | 66 | 5 | 16 | 0 | 2 |
| HeartbeatListener.java |   | 72% |   | 87% | 7 | 21 | 29 | 81 | 5 | 13 | 0 | 1 |
| DefaultStorageListener.java |  | 0% |  | 0% | 10 | 10 | 19 | 19 | 8 | 8 | 1 | 1 |
| SocketProductReceiver.java |   | 77% |   | 50% | 7 | 15 | 21 | 69 | 6 | 14 | 0 | 1 |
| ProductKey.java |   | 69% |   | 61% | 9 | 19 | 10 | 40 | 2 | 10 | 0 | 1 |
| Command.java |   | 81% |   | 68% | 14 | 32 | 20 | 91 | 8 | 21 | 0 | 4 |
| ProductKeyChain.java |   | 48% |   | 37% | 5 | 10 | 12 | 26 | 2 | 6 | 0 | 1 |
| NotificationIndexCleanup.java |   | 83% |   | 75% | 6 | 20 | 7 | 66 | 2 | 12 | 0 | 1 |
| NotificationListenerCallable.java |   | 30% | | n/a | 0 | 3 | 10 | 18 | 0 | 3 | 0 | 1 |
| JDBCNotificationIndex.java |   | 97% |   | 77% | 20 | 63 | 18 | 308 | 1 | 18 | 0 | 1 |
| ProductTrackerUpdate.java |   | 59% | | n/a | 9 | 16 | 16 | 32 | 9 | 16 | 0 | 1 |
| URLNotificationJSONConverter.java |   | 75% | | n/a | 2 | 5 | 5 | 31 | 2 | 5 | 0 | 1 |
| URLNotificationParser.java |   | 81% |   | 50% | 2 | 5 | 5 | 21 | 0 | 3 | 0 | 1 |
| ContinuableListenerException.java | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
| NotificationListenerException.java | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
| StorageEvent.java |  | 81% | | n/a | 3 | 6 | 3 | 14 | 3 | 6 | 0 | 2 |
| HeartbeatInfo.java |  | 83% | | n/a | 2 | 7 | 4 | 18 | 2 | 7 | 0 | 1 |
| ConfigurationException.java | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
| ProductAlreadyInStorageException.java | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
| InvalidSignatureException.java | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
| URLNotification.java |  | 92% |   | 66% | 5 | 12 | 0 | 12 | 0 | 3 | 0 | 1 |
| URLNotificationXMLConverter.java |  | 97% | | n/a | 1 | 3 | 1 | 27 | 1 | 3 | 0 | 1 |
| HeartbeatStatus.java |  | 100% |  | 100% | 0 | 10 | 0 | 20 | 0 | 6 | 0 | 1 |
| DefaultNotification.java |  | 100% |   | 75% | 3 | 11 | 0 | 13 | 0 | 5 | 0 | 1 |
| NotificationEvent.java |  | 100% | | n/a | 0 | 4 | 0 | 7 | 0 | 4 | 0 | 1 |