org.rhq.enterprise.server.plugin.pc.content
Interface PackageSource


public interface PackageSource

Indicates a content source has the capability to provide packages into the server. Package synchronization will be done through the calls defined in this interface. This interface should use the configuration settings passed into the plugin through ContentProvider.initialize(org.rhq.core.domain.configuration.Configuration)

Author:
Jason Dobies

Method Summary
 InputStream getInputStream(String location)
          Get an input stream for the specified package.
 void synchronizePackages(String repoName, PackageSyncReport report, Collection<ContentProviderPackageDetails> existingPackages)
          Requests that this package source perform a synchronization with its external package source.
 

Method Detail

synchronizePackages

void synchronizePackages(String repoName,
                         PackageSyncReport report,
                         Collection<ContentProviderPackageDetails> existingPackages)
                         throws SyncException,
                                InterruptedException
Requests that this package source perform a synchronization with its external package source.

Parameters:
repoName - indicates the repo from which packages should be retrieved; may be ignored if the package source does not support the concept of repos
report - used to populate the packages diff information necessary to bring the server up to date with the current state of the external package source.
existingPackages - collection of packages the server currently has in its inventory for this package source; used when determining package diff information for the report.
Throws:
Exception - if the package source is unable to perform the synchronization, for instance if the external source cannot be connected to.
SyncException
InterruptedException

getInputStream

InputStream getInputStream(String location)
                           throws Exception
Get an input stream for the specified package.

Parameters:
location - The location of the package. This is an adapter specific location that was originally set in the PackageDetails object as part of the synch report.
Returns:
An initialized input stream. The caller is responsible for closing the stream.
Throws:
Exception - if failed to obtain the stream to the remote package data


Copyright © 2008-2012 Red Hat, Inc.. All Rights Reserved.