Class TransformationCatalogEntry
- java.lang.Object
-
- edu.isi.pegasus.planner.catalog.transformation.TransformationCatalogEntry
-
- All Implemented Interfaces:
CatalogEntry
public class TransformationCatalogEntry extends java.lang.Object implements CatalogEntry
An object of this class corresponds to a tuple in the Transformation Catalog.- Author:
- Gaurang Mehta
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringmNameThe logical mName of the transformation.private java.lang.StringmNamespaceThe logical mNamespace of the transformationprivate NotificationsmNotificationsAll the notifications associated with the jobprivate java.lang.StringmPFNThe physical path on the resource for a particular arch, os and type.private ProfilesmProfilesThe profiles associated with the site.private java.lang.StringmResourceIDThe Id of the resource on which the transformation is installed.private SysInfomSysInfoThe System Info for the transformation.private java.lang.StringmVersionThe mVersion of the transformation.private TCTypetypeThe type of transformation.
-
Constructor Summary
Constructors Modifier Constructor Description TransformationCatalogEntry()The basic constructorTransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version)Optimized ConstructorprivateTransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version, java.lang.String resourceID, java.lang.String physicalname, TCType type, Profiles profiles, SysInfo sysinfo)Overloaded constructor.TransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version, java.lang.String resourceid, java.lang.String physicalname, TCType type, java.util.List profiles, VDSSysInfo sysinfo)Optimized Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNotification(Invoke invoke)Adds a Invoke object correpsonding to a notification.voidaddNotifications(Notifications invokes)Adds all the notifications passed to the underlying container.voidaddProfile(Profile profile)Allows you to add one profile at a time to the transformation.voidaddProfiles(Profiles profiles)Allows you to add one profile at a time to the transformation.voidaddProfiles(java.util.List profiles)Allows you to add multiple profiles to the transformation.java.lang.Objectclone()creates a new instance of this object and returns you it.booleanequals(TransformationCatalogEntry entry)Compares two catalog entries for equality.java.lang.StringgetLogicalName()Returns the Name of the logical transformation.java.lang.StringgetLogicalNamespace()Returns the Namespace associated with the logical transformation.java.lang.StringgetLogicalTransformation()Gets the Fully Qualified Transformation mName in the format NS::Name:Ver.java.lang.StringgetLogicalVersion()Returns the mVersion of the logical transformation.NotificationsgetNotifications()Returns all the notifications associated with the job.java.util.Collection<Invoke>getNotifications(Invoke.WHEN when)Returns a collection of all the notifications that need to be done for a particular conditionjava.lang.StringgetPhysicalTransformation()Returns the physical location of the transformation.java.util.ListgetProfiles()Returns the list of profiles associated with the transformation.java.util.ListgetProfiles(java.lang.String namespace)Returns the profiles for a particular Namespace.java.lang.StringgetResourceId()Returns the resource where the transformation is located.SysInfogetSysInfo()Returns the System Information associated with the transformation.TCTypegetType()Returns the type of the transformation.VDSSysInfogetVDSSysInfo()Returns the System Information in the old VDS format associated with the transformation.private static java.lang.StringjoinLFN(java.lang.String namespace, java.lang.String name, java.lang.String version)Joins the 3 components into a fully qualified logical mName of the format NS::NAME:VERvoidsetLogicalName(java.lang.String name)Set the logical mName of the transformation.voidsetLogicalNamespace(java.lang.String namespace)Set the logical mNamespace of the transformation.voidsetLogicalTransformation(java.lang.String logicaltransformation)Set the logical transformation with a fully qualified tranformation String of the format NS::NAME:VervoidsetLogicalTransformation(java.lang.String namespace, java.lang.String name, java.lang.String version)Set the logical transformation by providing the mNamespace, mName and mVersion as seperate strings.voidsetLogicalVersion(java.lang.String version)Set the logical mVersion of the transformation.voidsetPhysicalTransformation(java.lang.String physicalname)Set the physical location of the transformation.voidsetResourceId(java.lang.String resourceid)Set the mResourceID where the transformation is available.voidsetSysInfo(SysInfo sysinfo)Sets the system information for the entry.voidsetType(TCType type)Set the type of the transformation.voidsetVDSSysInfo(VDSSysInfo sysinfo)Set the System Information associated with the transformation.private static java.lang.String[]splitLFN(java.lang.String logicaltransformation)Splits the full qualified logical transformation into its components.java.lang.StringtoString()gets the String mVersion of the data classjava.lang.StringtoTCString()Prints out a TC file format String.java.lang.StringtoXML()Returns an xml output of the contents of the data class.
-
-
-
Field Detail
-
mNamespace
private java.lang.String mNamespace
The logical mNamespace of the transformation
-
mVersion
private java.lang.String mVersion
The mVersion of the transformation.
-
mName
private java.lang.String mName
The logical mName of the transformation.
-
mResourceID
private java.lang.String mResourceID
The Id of the resource on which the transformation is installed.
-
mPFN
private java.lang.String mPFN
The physical path on the resource for a particular arch, os and type.
-
mProfiles
private Profiles mProfiles
The profiles associated with the site.
-
mSysInfo
private SysInfo mSysInfo
The System Info for the transformation.
-
type
private TCType type
The type of transformation. Takes one of the predefined enumerated type TCType.
-
mNotifications
private Notifications mNotifications
All the notifications associated with the job
-
-
Constructor Detail
-
TransformationCatalogEntry
public TransformationCatalogEntry()
The basic constructor
-
TransformationCatalogEntry
public TransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version)Optimized Constructor- Parameters:
namespace- Stringname- Stringversion- String
-
TransformationCatalogEntry
public TransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version, java.lang.String resourceid, java.lang.String physicalname, TCType type, java.util.List profiles, VDSSysInfo sysinfo)Optimized Constructor- Parameters:
namespace- Stringname- Stringversion- StringresourceID- Stringphysicalname- Stringtype- TCTypeprofiles- Listsysinfo- VDSSysInfo
-
TransformationCatalogEntry
private TransformationCatalogEntry(java.lang.String namespace, java.lang.String name, java.lang.String version, java.lang.String resourceID, java.lang.String physicalname, TCType type, Profiles profiles, SysInfo sysinfo)Overloaded constructor.- Parameters:
namespace- the namespacename- the nameversion- the versionresourceID- the site with which entry is associatedphysicalname- the pfntype- the typeprofiles- the profiles passedsysinfo- the SystemInformation
-
-
Method Detail
-
clone
public java.lang.Object clone()
creates a new instance of this object and returns you it. A shallow clone. TO DO : Gaurang correct the clone method.- Overrides:
clonein classjava.lang.Object- Returns:
- Object
-
toString
public java.lang.String toString()
gets the String mVersion of the data class- Overrides:
toStringin classjava.lang.Object- Returns:
- String
-
toTCString
public java.lang.String toTCString()
Prints out a TC file format String.- Returns:
- String
-
toXML
public java.lang.String toXML()
Returns an xml output of the contents of the data class.- Returns:
- String
-
setLogicalTransformation
public void setLogicalTransformation(java.lang.String logicaltransformation)
Set the logical transformation with a fully qualified tranformation String of the format NS::NAME:Ver- Parameters:
logicaltransformation- String
-
setLogicalTransformation
public void setLogicalTransformation(java.lang.String namespace, java.lang.String name, java.lang.String version)Set the logical transformation by providing the mNamespace, mName and mVersion as seperate strings.- Parameters:
mNamespace- StringmName- StringmVersion- String
-
setLogicalNamespace
public void setLogicalNamespace(java.lang.String namespace)
Set the logical mNamespace of the transformation.- Parameters:
mNamespace- String
-
setLogicalName
public void setLogicalName(java.lang.String name)
Set the logical mName of the transformation.- Parameters:
mName- String
-
setLogicalVersion
public void setLogicalVersion(java.lang.String version)
Set the logical mVersion of the transformation.- Parameters:
mVersion- String
-
setResourceId
public void setResourceId(java.lang.String resourceid)
Set the mResourceID where the transformation is available.- Parameters:
mResourceID- String
-
setType
public void setType(TCType type)
Set the type of the transformation.- Parameters:
type- TCType
-
setPhysicalTransformation
public void setPhysicalTransformation(java.lang.String physicalname)
Set the physical location of the transformation.- Parameters:
mPFN- String
-
setSysInfo
public void setSysInfo(SysInfo sysinfo)
Sets the system information for the entry.- Parameters:
sysinfo- the System information
-
setVDSSysInfo
public void setVDSSysInfo(VDSSysInfo sysinfo)
Set the System Information associated with the transformation.- Parameters:
sysinfo- VDSSysInfo
-
addNotification
public void addNotification(Invoke invoke)
Adds a Invoke object correpsonding to a notification.- Parameters:
invoke- the invoke object containing the notification
-
addNotifications
public void addNotifications(Notifications invokes)
Adds all the notifications passed to the underlying container.- Parameters:
invokes- the notifications to be added
-
getNotifications
public java.util.Collection<Invoke> getNotifications(Invoke.WHEN when)
Returns a collection of all the notifications that need to be done for a particular condition- Parameters:
when- the condition- Returns:
-
getNotifications
public Notifications getNotifications()
Returns all the notifications associated with the job.- Returns:
- the notifications
-
addProfiles
public void addProfiles(Profiles profiles)
Allows you to add one profile at a time to the transformation.- Parameters:
profile- Profile A single profile consisting of mNamespace, key and value
-
addProfile
public void addProfile(Profile profile)
Allows you to add one profile at a time to the transformation.- Parameters:
profile- Profile A single profile consisting of mNamespace, key and value
-
addProfiles
public void addProfiles(java.util.List profiles)
Allows you to add multiple profiles to the transformation.- Parameters:
profiles- List of Profile objects containing the profile information.
-
getLogicalTransformation
public java.lang.String getLogicalTransformation()
Gets the Fully Qualified Transformation mName in the format NS::Name:Ver.- Returns:
- String
-
getLogicalNamespace
public java.lang.String getLogicalNamespace()
Returns the Namespace associated with the logical transformation.- Returns:
- String Returns null if no mNamespace associated with the transformation.
-
getLogicalName
public java.lang.String getLogicalName()
Returns the Name of the logical transformation.- Returns:
- String
-
getLogicalVersion
public java.lang.String getLogicalVersion()
Returns the mVersion of the logical transformation.- Returns:
- String Returns null if no mVersion assocaited with the transformation.
-
getResourceId
public java.lang.String getResourceId()
Returns the resource where the transformation is located.- Returns:
- String
-
getType
public TCType getType()
Returns the type of the transformation.- Returns:
- TCType
-
getPhysicalTransformation
public java.lang.String getPhysicalTransformation()
Returns the physical location of the transformation.- Returns:
- String
-
getSysInfo
public SysInfo getSysInfo()
Returns the System Information associated with the transformation.- Returns:
- SysInfo
-
getVDSSysInfo
public VDSSysInfo getVDSSysInfo()
Returns the System Information in the old VDS format associated with the transformation.- Returns:
- VDSSysInfo
-
getProfiles
public java.util.List getProfiles()
Returns the list of profiles associated with the transformation.- Returns:
- List Returns null if no profiles associated.
-
getProfiles
public java.util.List getProfiles(java.lang.String namespace)
Returns the profiles for a particular Namespace.- Parameters:
mNamespace- String The mNamespace of the profile- Returns:
- List List of Profile objects. returns null if none are found.
-
joinLFN
private static java.lang.String joinLFN(java.lang.String namespace, java.lang.String name, java.lang.String version)Joins the 3 components into a fully qualified logical mName of the format NS::NAME:VER- Parameters:
mNamespace- StringmName- StringmVersion- String- Returns:
- String
-
splitLFN
private static java.lang.String[] splitLFN(java.lang.String logicaltransformation)
Splits the full qualified logical transformation into its components.- Parameters:
logicaltransformation- String- Returns:
- String[]
-
equals
public boolean equals(TransformationCatalogEntry entry)
Compares two catalog entries for equality.- Parameters:
entry- is the entry to compare with- Returns:
- true if the entries match, false otherwise
-
-