public class FakeRepoManager extends RepoManager
RepoManager, for use in unit tests.RepoManager.DummyProgressRunner, RepoManager.RepoLoadedCallbackDEFAULT_EXPIRATION_PERIOD_MS| Constructor and Description |
|---|
FakeRepoManager(java.io.File localPath,
RepositoryPackages packages) |
FakeRepoManager(RepositoryPackages packages) |
| Modifier and Type | Method and Description |
|---|---|
PackageOperation |
getInProgressInstallOperation(RepoPackage remotePackage)
Gets the previously-registered installer that is currently installing the given package, or
null if there is none. |
java.io.File |
getLocalPath()
Gets the path to the local repository root.
|
RepositoryPackages |
getPackages()
Gets the currently-loaded
RepositoryPackages. |
org.w3c.dom.ls.LSResourceResolver |
getResourceResolver(ProgressIndicator progress)
Gets an
LSResourceResolver that can find the XSDs for all versions of the
currently-registered SchemaModules by namespace. |
java.util.Set<SchemaModule<?>> |
getSchemaModules()
Gets the currently-registered
SchemaModules. |
java.util.Set<RepositorySourceProvider> |
getSourceProviders()
Gets the currently registered
RepositorySourceProviders. |
java.util.Set<RepositorySource> |
getSources(Downloader downloader,
ProgressIndicator progress,
boolean forceRefresh)
Gets the actual
RepositorySources from the registered RepositorySourceProviders. |
void |
installBeginning(RepoPackage repoPackage,
PackageOperation installer)
Record that the given package is in the process of being installed by the given installer.
|
void |
installEnded(RepoPackage repoPackage)
Record that the given package is no longer in the process of being installed (that is,
install completed either successfully or unsuccessfully).
|
void |
load(long cacheExpirationMs,
java.util.List<RepoManager.RepoLoadedCallback> onLocalComplete,
java.util.List<RepoManager.RepoLoadedCallback> onSuccess,
java.util.List<java.lang.Runnable> onError,
ProgressRunner runner,
Downloader downloader,
SettingsController settings,
boolean sync)
Load the local and remote repositories.
|
void |
markInvalid()
Causes cached results to be considered expired.
|
void |
markLocalCacheInvalid()
Causes the cached results of the local repositories to be considered expired.
|
void |
registerLocalChangeListener(RepoManager.RepoLoadedCallback listener)
Registers a listener that will be called whenever the local packages are reloaded and have
changed.
|
void |
registerRemoteChangeListener(RepoManager.RepoLoadedCallback listener)
Register a listener that will be called whenever the remote packages are reloaded and have
changed.
|
void |
registerSchemaModule(SchemaModule module)
Register an
SchemaModule that can be used when parsing XML for this repo. |
void |
registerSourceProvider(RepositorySourceProvider provider)
Adds a
RepositorySourceProvider from which to get RepositorySources from
which to download lists of available repository packages. |
boolean |
reloadLocalIfNeeded(ProgressIndicator progress)
Check to see if there have been any changes to the local repo since the last load.
|
void |
setFallbackLocalRepoLoader(FallbackLocalRepoLoader local)
Sets the
FallbackLocalRepoLoader to use when scanning the local repository for
packages. |
void |
setFallbackRemoteRepoLoader(FallbackRemoteRepoLoader remote)
Sets the
FallbackRemoteRepoLoader to try when we encounter a remote xml file that the
RepoManger can't read. |
void |
setLocalPath(java.io.File path)
Sets the path to the local repository root.
|
create, getCommonModule, getGenericModule, loadSynchronouslypublic FakeRepoManager(@Nullable
java.io.File localPath,
@NonNull
RepositoryPackages packages)
public FakeRepoManager(@NonNull
RepositoryPackages packages)
public void registerSchemaModule(@NonNull
SchemaModule module)
RepoManagerSchemaModule that can be used when parsing XML for this repo.registerSchemaModule in class RepoManager@NonNull public java.util.Set<SchemaModule<?>> getSchemaModules()
RepoManagerSchemaModules. This probably shouldn't be used except
by code within the RepoManager or unit tests.getSchemaModules in class RepoManagerpublic void setLocalPath(@Nullable
java.io.File path)
RepoManagersetLocalPath in class RepoManager@Nullable public java.io.File getLocalPath()
RepoManagergetLocalPath in class RepoManagerpublic void setFallbackLocalRepoLoader(@Nullable
FallbackLocalRepoLoader local)
RepoManagerFallbackLocalRepoLoader to use when scanning the local repository for
packages.setFallbackLocalRepoLoader in class RepoManagerpublic void registerSourceProvider(@NonNull
RepositorySourceProvider provider)
RepoManagerRepositorySourceProvider from which to get RepositorySources from
which to download lists of available repository packages.registerSourceProvider in class RepoManager@NonNull public java.util.Set<RepositorySourceProvider> getSourceProviders()
RepoManagerRepositorySourceProviders. Should only be needed for
testing.getSourceProviders in class RepoManagerpublic java.util.Set<RepositorySource> getSources(@Nullable Downloader downloader, @NonNull ProgressIndicator progress, boolean forceRefresh)
RepoManagerRepositorySources from the registered RepositorySourceProviders.
Probably should only be needed by a repository UI.getSources in class RepoManagerdownloader - The Downloader to use for downloading source lists, if needed.progress - A ProgressIndicator for source providers to use to show their
progress and for logging.forceRefresh - Individual RepositorySourceProviders may cache their results. If
forceRefresh is true, specifies that they should reload rather
than returning cached results.RepositorySources obtained from the providers.public void setFallbackRemoteRepoLoader(@Nullable
FallbackRemoteRepoLoader remote)
RepoManagerFallbackRemoteRepoLoader to try when we encounter a remote xml file that the
RepoManger can't read.setFallbackRemoteRepoLoader in class RepoManagerpublic void load(long cacheExpirationMs,
@Nullable
java.util.List<RepoManager.RepoLoadedCallback> onLocalComplete,
@Nullable
java.util.List<RepoManager.RepoLoadedCallback> onSuccess,
@Nullable
java.util.List<java.lang.Runnable> onError,
@NonNull
ProgressRunner runner,
@Nullable
Downloader downloader,
@Nullable
SettingsController settings,
boolean sync)
RepoManagerload in class RepoManagercacheExpirationMs - How long must have passed since the last load for us to reload.
Specify 0 to reload immediately.onLocalComplete - When loading, the local repo load happens first, and should be
relatively fast. When complete, the onLocalComplete RepoManager.RepoLoadedCallbacks are run. Will be called with a RepositoryPackages that contains only the local packages.onSuccess - Callbacks that are run when the entire load (local and remote) has
completed successfully. Called with an RepositoryPackages
containing both the local and remote packages.onError - Callbacks that are run when there's an error at some point during
the load.runner - The ProgressRunner to use for any tasks started during the
load, including running the callbacks.downloader - The Downloader to use for downloading remote files,
including any remote list of repo sources and the remote
repositories themselves.settings - The settings to use during the load, including for example proxy
settings used when fetching remote files.sync - If true, load synchronously. If false, load asynchronously (this
method should return quickly, and the onSuccess callbacks
can be used to process the completed results).
TODO: throw exception if cancelledpublic void markInvalid()
RepoManagerRepoManager.load(long, List, List,
List, ProgressRunner, Downloader, SettingsController, boolean) is called, a complete load
will be done.markInvalid in class RepoManagerpublic void markLocalCacheInvalid()
RepoManagerRepoManager.load(long, List, List, List, ProgressRunner, Downloader, SettingsController,
boolean) is called, the load will be done only for the local repositories, the remotes being
loaded from the cache if possible.markLocalCacheInvalid in class RepoManagerpublic boolean reloadLocalIfNeeded(@NonNull
ProgressIndicator progress)
RepoManagerreloadLocalIfNeeded in class RepoManagertrue if the load was successful, false otherwise}.@NonNull public RepositoryPackages getPackages()
RepoManagerRepositoryPackages.getPackages in class RepoManager@Nullable
public org.w3c.dom.ls.LSResourceResolver getResourceResolver(@NonNull
ProgressIndicator progress)
RepoManagerLSResourceResolver that can find the XSDs for all versions of the
currently-registered SchemaModules by namespace. Returns null if there is an error.getResourceResolver in class RepoManagerpublic void registerLocalChangeListener(@NonNull
RepoManager.RepoLoadedCallback listener)
RepoManagerRepositoryPackages instance passed to the callback will contain only the
local packages.registerLocalChangeListener in class RepoManagerpublic void registerRemoteChangeListener(@NonNull
RepoManager.RepoLoadedCallback listener)
RepoManagerRepositoryPackages instance will contain the remote and local packages.registerRemoteChangeListener in class RepoManagerpublic void installBeginning(@NonNull
RepoPackage repoPackage,
@NonNull
PackageOperation installer)
RepoManagerinstallBeginning in class RepoManagerpublic void installEnded(@NonNull
RepoPackage repoPackage)
RepoManagerinstallEnded in class RepoManager@Nullable public PackageOperation getInProgressInstallOperation(@NonNull RepoPackage remotePackage)
RepoManagernull if there is none.getInProgressInstallOperation in class RepoManager