CLIProductBuilder |   | 29% |   | 40% | 51 | 70 | 221 | 303 | 8 | 13 | 0 | 1 |
ProductTracker |   | 21% |   | 3% | 44 | 55 | 146 | 188 | 12 | 23 | 0 | 1 |
Bootstrap |  | 0% |  | 0% | 23 | 23 | 126 | 126 | 5 | 5 | 1 | 1 |
FileProductStorage |   | 57% |   | 54% | 31 | 66 | 116 | 284 | 9 | 33 | 0 | 1 |
SocketProductSender |   | 40% |   | 47% | 29 | 46 | 78 | 164 | 16 | 28 | 0 | 1 |
ExternalNotificationListener |   | 22% |   | 29% | 28 | 38 | 106 | 143 | 8 | 14 | 0 | 1 |
ReplicationStorageListener |  | 0% |  | 0% | 20 | 20 | 110 | 110 | 9 | 9 | 1 | 1 |
DefaultNotificationReceiver |   | 66% |   | 48% | 43 | 70 | 73 | 253 | 12 | 31 | 0 | 1 |
ProductResender |  | 0% |  | 0% | 30 | 30 | 98 | 98 | 4 | 4 | 1 | 1 |
ProductClient |   | 40% |   | 35% | 30 | 47 | 112 | 180 | 6 | 15 | 0 | 1 |
ProductBuilder |   | 34% |   | 27% | 24 | 35 | 66 | 114 | 9 | 17 | 0 | 1 |
AdminSocketServer |  | 0% |  | 0% | 25 | 25 | 96 | 96 | 14 | 14 | 1 | 1 |
EIDSNotificationReceiver |  | 0% |  | 0% | 14 | 14 | 58 | 58 | 8 | 8 | 1 | 1 |
DefaultNotificationListener |   | 58% |   | 52% | 22 | 45 | 58 | 152 | 7 | 22 | 0 | 1 |
ContentListener |  | 0% |  | 0% | 22 | 22 | 69 | 69 | 12 | 12 | 1 | 1 |
DefaultNotificationSender |   | 48% |   | 50% | 12 | 26 | 31 | 82 | 7 | 18 | 0 | 1 |
ReplicationStorageListener.ReplicationTask |  | 0% |  | 0% | 5 | 5 | 41 | 41 | 2 | 2 | 1 | 1 |
WebSocketNotificationReceiver |   | 45% |   | 10% | 21 | 31 | 42 | 82 | 16 | 26 | 0 | 1 |
ExecutorListenerNotifier |   | 71% |   | 54% | 26 | 53 | 39 | 144 | 7 | 22 | 0 | 1 |
SignatureVerifier |   | 51% |   | 50% | 16 | 29 | 28 | 71 | 5 | 13 | 0 | 1 |
SocketProductReceiverHandler |   | 61% |   | 53% | 10 | 22 | 30 | 98 | 1 | 8 | 0 | 1 |
EIDSNotificationSender |   | 38% |   | 27% | 11 | 17 | 24 | 48 | 2 | 8 | 0 | 1 |
EmbeddedPDLClient |  | 0% | | n/a | 3 | 3 | 34 | 34 | 3 | 3 | 1 | 1 |
HashFileProductStorage |  | 0% |  | 0% | 9 | 9 | 39 | 39 | 5 | 5 | 1 | 1 |
WebSocketClient |  | 0% |  | 0% | 14 | 14 | 43 | 43 | 9 | 9 | 1 | 1 |
FutureListenerNotifier |  | 0% |  | 0% | 10 | 10 | 30 | 30 | 5 | 5 | 1 | 1 |
DeflateComparison |   | 66% |  | 0% | 5 | 11 | 26 | 69 | 1 | 7 | 0 | 1 |
ProductTrackerParser |  | 0% |  | 0% | 5 | 5 | 24 | 24 | 4 | 4 | 1 | 1 |
RelayProductListener |  | 0% |  | 0% | 11 | 11 | 31 | 31 | 8 | 8 | 1 | 1 |
Factory |  | 0% | | n/a | 5 | 5 | 26 | 26 | 5 | 5 | 1 | 1 |
HeartbeatListener |   | 72% |   | 87% | 7 | 21 | 29 | 81 | 5 | 13 | 0 | 1 |
DefaultStorageListener |  | 0% |  | 0% | 10 | 10 | 19 | 19 | 8 | 8 | 1 | 1 |
SocketProductReceiver |   | 77% |   | 50% | 7 | 15 | 21 | 69 | 6 | 14 | 0 | 1 |
ProductKey |   | 69% |   | 61% | 9 | 19 | 10 | 40 | 2 | 10 | 0 | 1 |
URLProductStorage |   | 77% |   | 50% | 11 | 19 | 13 | 51 | 4 | 12 | 0 | 1 |
Command |   | 79% |   | 68% | 14 | 27 | 19 | 80 | 8 | 16 | 0 | 1 |
ProductKeyChain |   | 48% |   | 37% | 5 | 10 | 12 | 26 | 2 | 6 | 0 | 1 |
NotificationIndexCleanup |   | 83% |   | 75% | 6 | 20 | 7 | 66 | 2 | 12 | 0 | 1 |
NotificationListenerCallable |   | 30% | | n/a | 0 | 3 | 10 | 18 | 0 | 3 | 0 | 1 |
JDBCNotificationIndex |   | 97% |   | 77% | 20 | 63 | 18 | 308 | 1 | 18 | 0 | 1 |
EmbeddedPDLClient.new DefaultNotificationListener() {...} |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 2 | 2 | 1 | 1 |
ProductTrackerUpdate |   | 59% | | n/a | 9 | 16 | 16 | 32 | 9 | 16 | 0 | 1 |
URLNotificationJSONConverter |   | 75% | | n/a | 2 | 5 | 5 | 31 | 2 | 5 | 0 | 1 |
URLProductStorage.Format |   | 64% |  | 0% | 4 | 7 | 7 | 15 | 1 | 4 | 0 | 1 |
ProductClient.new Thread() {...} |  | 0% | | n/a | 2 | 2 | 8 | 8 | 2 | 2 | 1 | 1 |
EmbeddedPDLClient.new Thread() {...} |  | 0% | | n/a | 2 | 2 | 7 | 7 | 2 | 2 | 1 | 1 |
FileProductStorage.new Runnable() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
DefaultNotificationListener.new TimerTask() {...} |  | 39% | | n/a | 0 | 2 | 2 | 6 | 0 | 2 | 0 | 1 |
DefaultNotificationReceiver.new TimerTask() {...} |  | 39% | | n/a | 0 | 2 | 2 | 6 | 0 | 2 | 0 | 1 |
DeflateComparison.CountingOutputStream |   | 51% | | n/a | 2 | 5 | 4 | 9 | 2 | 5 | 0 | 1 |
URLNotificationParser |   | 81% |   | 50% | 2 | 5 | 5 | 21 | 0 | 3 | 0 | 1 |
NotificationListenerException | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
ContinuableListenerException | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
StorageEvent |  | 67% | | n/a | 3 | 5 | 3 | 11 | 3 | 5 | 0 | 1 |
HeartbeatInfo |  | 83% | | n/a | 2 | 7 | 4 | 18 | 2 | 7 | 0 | 1 |
InvalidSignatureException | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
ConfigurationException | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
ProductAlreadyInStorageException | | 44% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
URLNotification |  | 92% |   | 66% | 5 | 12 | 0 | 12 | 0 | 3 | 0 | 1 |
URLNotificationXMLConverter |  | 97% | | n/a | 1 | 3 | 1 | 27 | 1 | 3 | 0 | 1 |
Command.StreamTransferThread |  | 94% | | n/a | 0 | 2 | 1 | 8 | 0 | 2 | 0 | 1 |
FileProductStorage.StorageProductOutput |  | 100% |  | 100% | 0 | 6 | 0 | 18 | 0 | 5 | 0 | 1 |
HeartbeatStatus |  | 100% |  | 100% | 0 | 10 | 0 | 20 | 0 | 6 | 0 | 1 |
DefaultNotification |  | 100% |   | 75% | 3 | 11 | 0 | 13 | 0 | 5 | 0 | 1 |
StorageEvent.StorageEventType |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 0 | 1 |
NotificationEvent |  | 100% | | n/a | 0 | 4 | 0 | 7 | 0 | 4 | 0 | 1 |
Command.new TimerTask() {...} | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
Command.CommandTimeout | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |