ImageJUpdater imagej-ui-swing 0.23.1, imagej-updater 0.10.1 (simplified) ┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌─────────┐ ┌──────────┐ ┌────────────────────┐ │ImageJUpdater│ │AvailableSites│ │XMLFileReader│ │HTTPSUtil│ │UpdateSite│ │ReviewSiteURLsDialog│ └──────┬──────┘ └──────┬───────┘ └──────┬──────┘ └────┬────┘ └────┬─────┘ └─────────┬──────────┘ ────┐ │ │ │ │ │ │ some prep checks │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ create ┌───────────────┐ │ │ │ │ │───────────────────────────────────────────────────────────────────────────────────────>│FilesCollection│ │ │ │ │ │ │ └───────┬───────┘ │ │ │ │ │ │ tryLoadingCollection │ │ │ │ │ │───────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ read │ │ │ │ │ │ │ ────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ addUpdateSite │ │ │ │ │ │ │ <──────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ checkHTTPSSupport │ │ │ │ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ ────┐ │ │ │ │ │ │ │ warn if no HTTPS support │ │ │ │ │ │ <───┘────┐ │ │ │ │ │ │ │ │ refreshUpdateSites │ │ │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ initializeAndAddSites │ │ │ │ │ │ │──────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │────┐ │ │ │ │ │ ┌┴┐ │ │ tryGetAvailableSites │ │ │ │ │ │ │ │<───┘────┐ │ │ │ │ │ │ │ │ │ prepareAvailableUpdateSites │ │ │ │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ fixImageJUserSiteProtocol │ │ │ │ │ │ │ ────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌─ ─ ┐ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │< ─ ┘ │ │ │ │ │ │ │ │ │────┐ │ │ │ │ │ │ │ │ │ │ initializeMainUpdateSite │ │ │ │ │ │ │ │ │<───┘────┐ │ │ │ │ │ │ │ │ │ │ mergeLocalAndAvailabelUpdateSites │ │ │ │ │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ fixImageJUserSiteProtocol │ │ │ │ │ │ │ │ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │┌┴─ ─ ┐ │ │ │ │ │ │ │ ││ | ────┐ │ │ │ │ │ │ │ ││ < ─ ┘ │ makeSureNamesAreUnique │ │ │ │ │ │ │ ││ │ <───┘ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ setName (in case name is not unique, add counter) │ │ │ │ │ ││ │ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────> │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ ┌─ ─ ┐ │ │ │ │ │ │ │ ││ │ | │ │ │ │ │ │ │ ││ │< ─ ┘ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ │ ╔═══════╤════════╪╪═╪═╪════════════════════════════════════════════════════════════╪═════════════════╗ │ │ │ │ │ │ ║ LOOP │ over merged sites │ ║ │ │ │ │ │ │ ╟───────┘ ││ │ │ │ ║ │ │ │ │ │ │ ║ ││ │ │ addUpdateSite (match by name, override if already existing)│ ║ │ │ │ │ │ │ ║ ││ │ │ ───────────────────────────────────────────────────────────> ║ │ │ │ │ │ │ ╚════════════════╪╪═╪═╪════════════════════════════════════════════════════════════╪═════════════════╝ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ │ changes ││ │ │ │ │ │ │ │ └┬┘ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ │ create and display │ │ │ │ │─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────> │ ││ │ │ │ │ │ │ │ │ applyURLUpdates ││ │ │ │ │ │ │ │ │───────────────────────────────> │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ ─ ─ ┐ ││ │ │ │ │ │ │ │ | ││ │ │ │ │ │ │ │ < ─ ┘ ││ │ │ │ │ │ │ │ │ ││ reloadCollectionAndChecksum ┌┴┐ │ │ │ │ │──────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ ││ │ │ │ │ │ │ │ │ │ ││ │ │ │ │────┐ │ │ │ │ │ ││ │ │ │ │ │ get updates │ │ │ │ │ ││ │ │ │ │<───┘ │ │ │ │ │ ││ │ │ └┬┘ │ │ │ │ │ ││ │ │ │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ ││ │ │ │ │ │ │ │ ────┐ │ │ │ │ │ │ │ │ │ handle warnings, conflicts│ │ │ │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ ┌──────┴──────┐ ┌──────││ │ │──┐ ┌───────┴───────┐ ┌──────┴──────┐ ┌────┴────┐ ┌────┴─────┐ ┌─────────┴──────────┐ │ImageJUpdater│ │Availa││ │ │es│ │FilesCollection│ │XMLFileReader│ │HTTPSUtil│ │UpdateSite│ │ReviewSiteURLsDialog│ └─────────────┘ └──────││ │ │──┘ └───────────────┘ └─────────────┘ └─────────┘ └──────────┘ └────────────────────┘ └└┬└┬┘