| main(String[]) |  | 0% |  | 0% | 20 | 20 | 55 | 55 | 1 | 1 |
| sendUpdateXML(ProductTrackerUpdate) |   | 38% |   | 33% | 3 | 4 | 14 | 25 | 0 | 1 |
| getUsage() |  | 0% | | n/a | 1 | 1 | 17 | 17 | 1 | 1 |
| getUpdateXML(String, String, String, Date, String, Long) |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 1 | 1 |
| encodeURLData(Map) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| post(URL, Map) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| getUpdates(String, String, String, Date, String, Long) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| sendUpdate(ProductTrackerUpdate) |   | 59% |  | 0% | 1 | 2 | 4 | 12 | 0 | 1 |
| sendUpdate(String, ProductId, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| productIndexed(String, ProductId) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| parseTrackerResponse(URL, InputStream) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getUpdates(String, String, String, Date, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setTrackerURL(URL) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTrackerURL() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| exception(String, ProductId, Exception) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| notificationSent(String, Notification) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| notificationReceived(String, Notification) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| productCreated(String, ProductId) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| productDownloaded(String, ProductId) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| productReceived(String, ProductId) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| ProductTracker(URL) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setTrackerEnabled(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |