org.rhq.enterprise.server.plugins.rhnhosted
Class RHNHelper

java.lang.Object
  extended by org.rhq.enterprise.server.plugins.rhnhosted.RHNHelper

public class RHNHelper
extends Object

Author:
pkilambi

Constructor Summary
RHNHelper(String baseurl, String systemIdIn)
          Constructor.
 
Method Summary
 boolean checkSystemId(String systemId)
           
 String constructKickstartFileUrl(String channelName, String ksTreeLabel, String ksFilePath)
          Constructs a downloadable url for package downloads.
static String constructKickstartFileUrl(String baseurl, String channelName, String ksTreeLabel, String ksFilePath)
           
 String constructPackageUrl(String channelName, String rpmName)
          Constructs a downloadable url for package downloads.
static String constructPackageUrl(String baseurl, String channelName, String rpmName)
           
static String constructRpmDisplayName(String name, String version, String release, String arch)
          construct a legitimate rpm name to display
static String constructRpmDownloadName(String name, String version, String release, String epoch, String arch)
          Method to construct an rpm format filename for download url
 List<AdvisoryDetails> getAdvisoryMetadata(List<String> advisoryList, String repoName)
           
 List<String> getChannelAdvisory(String channelName)
          Get List of errataIds for Given Channels
 List<String> getChannelPackages(String channelName)
          Get List of packagesIds for Given Channels
 List<DistributionDetails> getDistributionMetaData(List<String> labels)
           
 List<ContentProviderPackageDetails> getPackageDetails(List packageIds, String channelName)
          Extract the package metadata for all available packages to sync
 List<String> getSyncableChannels()
          Get a list of all Syncable Channels based on entitled channel families
 List<String> getSyncableKickstartLabels()
           
 List<String> getSyncableKickstartLabels(List<String> channelLabels)
           
 List<String> getSyncableKickstartLabels(String channelName)
           
 InputStream openStream(String location)
          Open an input stream to specifed relative url.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RHNHelper

public RHNHelper(String baseurl,
                 String systemIdIn)
Constructor.

Parameters:
baseurl - The base url to connect to hosted
systemIdIn - systemId to use for auth
Method Detail

checkSystemId

public boolean checkSystemId(String systemId)
                      throws IOException,
                             org.apache.xmlrpc.XmlRpcException
Throws:
IOException
org.apache.xmlrpc.XmlRpcException

getDistributionMetaData

public List<DistributionDetails> getDistributionMetaData(List<String> labels)
                                                  throws IOException,
                                                         org.apache.xmlrpc.XmlRpcException
Throws:
IOException
org.apache.xmlrpc.XmlRpcException

getAdvisoryMetadata

public List<AdvisoryDetails> getAdvisoryMetadata(List<String> advisoryList,
                                                 String repoName)
                                          throws org.apache.xmlrpc.XmlRpcException,
                                                 IOException,
                                                 InterruptedException
Throws:
org.apache.xmlrpc.XmlRpcException
IOException
InterruptedException

getPackageDetails

public List<ContentProviderPackageDetails> getPackageDetails(List packageIds,
                                                             String channelName)
                                                      throws Exception
Extract the package metadata for all available packages to sync

Parameters:
packageIds - Valid package ids for getPackageMatadata call to fetch from hosted
channelName - channel name of passed in package ids
Returns:
A list of package detail objects
Throws:
Exception - On all errors

getChannelPackages

public List<String> getChannelPackages(String channelName)
                                throws IOException,
                                       org.apache.xmlrpc.XmlRpcException
Get List of packagesIds for Given Channels

Parameters:
channelName - channel name
Returns:
List of all package ids associated to the channel
Throws:
IOException - on io errors on systemid reads
org.apache.xmlrpc.XmlRpcException - on xmlrpc faults

getChannelAdvisory

public List<String> getChannelAdvisory(String channelName)
                                throws IOException,
                                       org.apache.xmlrpc.XmlRpcException
Get List of errataIds for Given Channels

Parameters:
channelName - channel name
Returns:
List of all errata ids associated to the channel
Throws:
IOException - on io errors on systemid reads
org.apache.xmlrpc.XmlRpcException - on xmlrpc faults

getSyncableChannels

public List<String> getSyncableChannels()
                                 throws IOException,
                                        org.apache.xmlrpc.XmlRpcException
Get a list of all Syncable Channels based on entitled channel families

Returns:
A list of channel labels
Throws:
IOException - on systemid reads
org.apache.xmlrpc.XmlRpcException - on xmlrpc faults

getSyncableKickstartLabels

public List<String> getSyncableKickstartLabels()
                                        throws IOException,
                                               org.apache.xmlrpc.XmlRpcException
Returns:
returns list of all possible kickstart labels from all possible channels
Throws:
IOException
org.apache.xmlrpc.XmlRpcException

getSyncableKickstartLabels

public List<String> getSyncableKickstartLabels(String channelName)
                                        throws IOException,
                                               org.apache.xmlrpc.XmlRpcException
Parameters:
channelName - channel name
Returns:
kickstart labels part of the passed in channel name
Throws:
IOException
org.apache.xmlrpc.XmlRpcException

getSyncableKickstartLabels

public List<String> getSyncableKickstartLabels(List<String> channelLabels)
                                        throws IOException,
                                               org.apache.xmlrpc.XmlRpcException
Parameters:
channelLabels - list of channel names to restrict return data to
Returns:
kickstart labels from the passed in list of channel names
Throws:
IOException
org.apache.xmlrpc.XmlRpcException

openStream

public InputStream openStream(String location)
                       throws IOException,
                              org.apache.xmlrpc.XmlRpcException
Open an input stream to specifed relative url. Prepends the baseurl to the url and opens and opens and input stream. Files with a .gz suffix will be unziped (inline).

Parameters:
location - A url that is relative to the baseurl and references a file within the repo.
Returns:
An open input stream that must be closed by the caller.
Throws:
IOException - On io errors.
org.apache.xmlrpc.XmlRpcException - On all errors.

constructPackageUrl

public String constructPackageUrl(String channelName,
                                  String rpmName)
Constructs a downloadable url for package downloads.

Parameters:
channelName - channel label to be synced.
rpmName - rpm file name
Returns:
a valid url location to fetch the rpm from.

constructPackageUrl

public static String constructPackageUrl(String baseurl,
                                         String channelName,
                                         String rpmName)

constructKickstartFileUrl

public String constructKickstartFileUrl(String channelName,
                                        String ksTreeLabel,
                                        String ksFilePath)
Constructs a downloadable url for package downloads.

Parameters:
channelName - channel label to be synced.
ksTreeLabel - kickstart tree label name
ksFilePath - path to kickstart file
Returns:
a valid url location to fetch the rpm from.

constructKickstartFileUrl

public static String constructKickstartFileUrl(String baseurl,
                                               String channelName,
                                               String ksTreeLabel,
                                               String ksFilePath)

constructRpmDownloadName

public static String constructRpmDownloadName(String name,
                                              String version,
                                              String release,
                                              String epoch,
                                              String arch)
Method to construct an rpm format filename for download url

Parameters:
name - rpm package name
version - rpm package version
release - rpm package release
epoch - rpm package epoch
arch - rpm package arch
Returns:
an rpm package name string

constructRpmDisplayName

public static String constructRpmDisplayName(String name,
                                             String version,
                                             String release,
                                             String arch)
construct a legitimate rpm name to display

Parameters:
name -
version -
release -
arch -
Returns:
rpm name String

toString

public String toString()
Overrides:
toString in class Object


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